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

How to create RSS Feed in Asp.Net

Auto generate change scripts in SQL Server Management Studio SSMS for tables

HOW TO Use the NumericUpDown Control