Search code examples
c#asp.netauthenticationasp.net-membershipmembership-provider

asp.net membership login with alternate password


I am making an ASP.NET application and using ASP.NET membership controls for users to login. I want user can login using his normal password or a quick login (which allows user to create a 4 digit password similar to ATM PIN) for a quick login experience. How do I achieve this?


Solution

  • You need to extend the basic membership provider and use it. Here is a start point.

    public class DoublePasswordProvider : SqlMembershipProvider
    {
        public override bool ValidateUser(string username, string password)
        {
            if (checkPIN(username, password)) return true;
            return base.ValidateUser(username, password);
        }
    }
    

    Then edit we.config to use it:

    <membership defaultProvider="DoublePasswordProvider">
          <providers>
    
            <add name="DoublePasswordProvider" type="YourNamespace.DoublePasswordProvider" connectionStringName="ApplicationServices"
                 enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
                 maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
                 applicationName="/" />
          </providers>
        </membership>
    

    Finally use standard asp.net controls (login, change password, bla bla)