protected override bool OnAuthorizeUser(string identifier, string password, HttpActionContext context) { if (!base.OnAuthorizeUser(identifier, password, context)) { return(false); } bool withSimpleAdminAuth = ConfigurationManagerHelper.GetValue <bool>("WebApi.WithSimpleAdminAuth"); if (withSimpleAdminAuth) { string adminIdentifier = ConfigurationManagerHelper.GetValue <string>("WebApi.AdminIdentifier"); string adminPassword = ConfigurationManagerHelper.GetValue <string>("WebApi.AdminPassword"); if (identifier == adminIdentifier && password == adminPassword) { return(true); } } // Authentication from database (the user must be registered in the database and have 'Admin' role). var user = new CustomUserValidator().GetUserWithRoles(identifier, password); return(user != null && user.UserRoleCollection.Select(ur => ur.Role).Any(r => r.CodeRef == Role.CodeRefs.Admin)); }
private void CreateApplicationUserManager() { ClaimsIdentityFactory = new CustomClaimsIdentityFactory(); UserValidator = new CustomUserValidator <User, long>(this) { AllowOnlyAlphanumericUserNames = false, RequireUniqueEmail = true }; PasswordValidator = new CustomPasswordValidator { RequiredLength = 5, RequireNonLetterOrDigit = false, RequireDigit = false, RequireLowercase = false, RequireUppercase = false }; UserLockoutEnabledByDefault = true; DefaultAccountLockoutTimeSpan = TimeSpan.FromMinutes(5); MaxFailedAccessAttemptsBeforeLockout = 5; if (_dataProtectionProvider == null) { return; } var dataProtector = _dataProtectionProvider.Create("Asp.net Identity"); UserTokenProvider = new DataProtectorTokenProvider <User, long>(dataProtector); }
public ApplicationUserManager(IUserStore <ApplicationUser> store) : base(store) { UserValidator = new CustomUserValidator(this); PasswordValidator = new CustomPasswordValidator(4); UserLockoutEnabledByDefault = true; DefaultAccountLockoutTimeSpan = TimeSpan.FromMinutes(5); MaxFailedAccessAttemptsBeforeLockout = 5; EmailService = new EmailService(); }
private void CreateApplicationUserManager() { ClaimsIdentityFactory = new CustomClaimsIdentityFactory(); UserValidator = new CustomUserValidator <User, long>(this) { AllowOnlyAlphanumericUserNames = false, RequireUniqueEmail = true }; PasswordValidator = new CustomPasswordValidator { RequiredLength = 5, RequireNonLetterOrDigit = false, RequireDigit = false, RequireLowercase = false, RequireUppercase = false }; UserLockoutEnabledByDefault = true; DefaultAccountLockoutTimeSpan = TimeSpan.FromMinutes(5); MaxFailedAccessAttemptsBeforeLockout = 5; //RegisterTwoFactorProvider("PhoneCode", new PhoneNumberTokenProvider<ApplicationUser, int> //{ // MessageFormat = "کد فعال سازی شما {0} است" //}); //RegisterTwoFactorProvider("EmailCode", new EmailTokenProvider<ApplicationUser, int> //{ // Subject = "کد فعال سازی", // BodyFormat = "کد فعال سازی شما {0} است" //}); if (_dataProtectionProvider == null) { return; } var dataProtector = _dataProtectionProvider.Create("Asp.net Identity"); UserTokenProvider = new DataProtectorTokenProvider <User, long>(dataProtector); }