Esempio n. 1
0
        /// <summary>
        /// <inheritdoc />
        /// </summary>
        /// <returns></returns>
        public async Task <User> AddUserAsync(string username, string email, string password, DateTime?birthday, decimal balance,
                                              string fullName, AuthenticationProviders authenticationProvider, UserStatuses status, string role, CancellationToken cancellationToken = default)
        {
            // Calculate hashed password.
            try
            {
                var user = new User(Guid.NewGuid(), username);
                user.Email                  = email;
                user.HashedPassword         = password.CalculateHash();
                user.Birthday               = birthday;
                user.Balance                = balance;
                user.FullName               = fullName;
                user.AuthenticationProvider = authenticationProvider;
                user.Status                 = status;
                user.Role       = role;
                user.JoinedTime = DateTime.UtcNow.ToUnixTime();

                await _users.InsertOneAsync(user, null, cancellationToken);

                return(user);
            }
            catch (Exception exception)
            {
                if (exception is MongoWriteException mongoWriteException)
                {
                    if (mongoWriteException.WriteError.Category == ServerErrorCategory.DuplicateKey)
                    {
                        throw new HttpResponseException(HttpStatusCode.Conflict, HttpMessageCodeConstants.UserDuplicated);
                    }
                }

                throw;
            }
        }
Esempio n. 2
0
 private void LoadSettings()
 {
     Security = Securitys.FirstOrDefault(x => x == SettingsManager.Current.SNMP_v3_Security);
     AuthenticationProvider = AuthenticationProviders.FirstOrDefault(x => x == SettingsManager.Current.SNMP_v3_AuthenticationProvider);
     PrivacyProvider        = PrivacyProviders.FirstOrDefault(x => x == SettingsManager.Current.SNMP_v3_PrivacyProvider);
     Walk             = SettingsManager.Current.SNMP_v3_Walk;
     ExpandStatistics = SettingsManager.Current.SNMP_v3_ExpandStatistics;
 }
Esempio n. 3
0
 private void LoadSettings()
 {
     Version  = Versions.FirstOrDefault(x => x == SettingsManager.Current.SNMP_Version);
     Mode     = Modes.FirstOrDefault(x => x == SettingsManager.Current.SNMP_Mode);
     Security = Securitys.FirstOrDefault(x => x == SettingsManager.Current.SNMP_Security);
     AuthenticationProvider = AuthenticationProviders.FirstOrDefault(x => x == SettingsManager.Current.SNMP_AuthenticationProvider);
     PrivacyProvider        = PrivacyProviders.FirstOrDefault(x => x == SettingsManager.Current.SNMP_PrivacyProvider);
     ExpandStatistics       = SettingsManager.Current.SNMP_ExpandStatistics;
 }
        public ActionResult Index(String returnUrl)
        {
            AuthenticationProviders model = new AuthenticationProviders
            {
                Providers = GetAccountProviders().ToArray()
            };

            // Test return url
            model.ReturnUrl = String.IsNullOrEmpty(returnUrl)
                ? _options.Value.Url
                : returnUrl;

            // Test the method used
            if (Request.Method == Constants.MethodPost)
            {
                return(PartialView(InnerIndexView, model));
            }
            return(View(model));
        }
Esempio n. 5
0
 public AuthenticationProvider <TAccount> Create(AuthenticationProviders provider)
 {
     return(Activator.CreateInstance(Providers[provider], _database) as AuthenticationProvider <TAccount>);
 }