public UserManager(UserStore userStore) : base(userStore) { UserValidator = new MyUserValidator(this) { AllowOnlyAlphanumericUserNames = true, RequireUniqueEmail = true }; PasswordValidator = new MyPasswordValidator { RequiredLength = 6, RequireNonLetterOrDigit = false, RequireDigit = true, RequireLowercase = false, RequireUppercase = false }; EmailService = new EmailService(); var dataProtectionProvider = Startup.DataProtectionProvider; if (dataProtectionProvider != null) { UserTokenProvider = new DataProtectorTokenProvider <User>(dataProtectionProvider.Create("ASP.NET Identity")) { TokenLifespan = TimeSpan.FromDays(1) }; } }
public void OnAuthenticateRequest(object source, EventArgs eventArgs) { HttpApplication app = (HttpApplication)source; string authHeader = app.Request.Headers["Authorization"]; if (!string.IsNullOrEmpty(authHeader)) { string authStr = app.Request.Headers["Authorization"]; if (authStr == null || authStr.Length == 0) { return; } authStr = authStr.Trim(); if (authStr.IndexOf("Basic", 0) != 0) { return; } authStr = authStr.Trim(); string encodedCredentials = authStr.Substring(6); byte[] decodedBytes = Convert.FromBase64String(encodedCredentials); string s = new ASCIIEncoding().GetString(decodedBytes); string[] userPass = s.Split(new char[] { ':' }); string username = userPass[0]; string password = userPass[1]; if (!MyUserValidator.Validate(username, password)) { DenyAccess(app); return; } } else { app.Response.StatusCode = 401; app.Response.End(); } }