How to configure ASP.NET Membership with role management database in SQL Server

  1. http://msdn.microsoft.com/en-us/library/ff647401.aspx  or
  2. Execute Aspnet_regsql.exe from v/s command prompt and add membership tables in your sqlserver.
  3. Add in web.config  <authentication mode="Forms">
          <forms loginUrl="~/Account/LogOn" timeout="2880" />
        </authentication>
        <roleManager enabled="true" defaultProvider="SqlRoleManager">
          <providers>
            <add name="SqlRoleManager"
                 type="System.Web.Security.SqlRoleProvider"
                 connectionStringName="Your Connection Name"
                 applicationName="Application Name" />
          </providers>
        </roleManager>
        <membership  defaultProvider="AspNetSqlMembershipProvider">
          <providers>
            <clear />
            <add name="AspNetSqlMembershipProvider" type="MySqlMembershipProvider class namespace which is given below... "
                 connectionStringName="Your Connection Name" enablePasswordRetrieval="false"
             enablePasswordReset="true"
             requiresQuestionAndAnswer="false"
             applicationName="ProjectTrack_App"
                  requiresUniqueEmail="false"
                passwordStrengthRegularExpression=""
                minRequiredPasswordLength="3"
                minRequiredNonalphanumericCharacters="0"
                   />
          </providers>
        </membership>
        <profile>
          <providers>
            <clear />
            <add name="AspNetSqlProfileProvider" type="MySqlMembershipProvider class namespace which is given below..." connectionStringName="Your Connection Name Here" applicationName="ProjectTrack_App" />
          </providers>
        </profile>  
  4. Add MySqlMembershipProvider Class.................public class MySqlMembershipProvider : SqlMembershipProvider
        {
            public override void Initialize(string name, System.Collections.Specialized.NameValueCollection config)
            {
                base.Initialize(name, config);

                // Update the private connection string field in the base class.

                string Connection = Convert.ToString(ConfigurationManager.ConnectionStrings["Conn name"]);
               
                // Set private property of Membership provider.
                FieldInfo connectionStringField = GetType().BaseType.GetField("_sqlConnectionString", BindingFlags.Instance | BindingFlags.NonPublic);
                connectionStringField.SetValue(this, Connection);
            }
        }
  5. Add role in database..
    1. EXEC aspnet_Roles_CreateRole 'ThisApplication', 'NewRole'
      EXEC aspnet_UsersInRoles_AddUsersToRoles 'ThisApplication', 'ThisUser', 'NewRole', 8 
       





Comments

Popular posts from this blog

Executing PowerShell scripts from C#

HOW TO Use the NumericUpDown Control

Exposing Agile Software Development Myths