Membership Provider

Membership Provider
  1. We will Configure ASP.net  3.5 Membership Provider VS 2008 using MS SQL server 2005.
  2. First Run ASPnet_RegSql.exe found at $:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe  
    where $ is Root Drive where you have installed the windows. It will open ASP.net SQL server setup.
  3. Click next then Select your Database to autogenerate ASpnet_Membership tables and its stored Procedures views etc.
  4. Configure your WebApplication web.config Belwo web.config code is self explanetory
  5.   <?xml version="1.0"?>

     

    <
    configuration>

    <configSections><

    sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">

    <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"><

    section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>

    <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"><

    section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>

    <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/><

    section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>

    <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/></

    sectionGroup>

    </sectionGroup></

    sectionGroup>

    </configSections><

    appSettings/> <connectionStrings>

    <add name="Comapny_dbConnectionString" connectionString="Data Source=Your_DB_ServerName;Initial Catalog=YourDBNAme;User ID=sa;Password=YourPassword"

    providerName="System.Data.SqlClient" />

     

    </
    connectionStrings><system.web>

     

    <compilation debug="true"><

    assemblies>

    <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><

    add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

    <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><

    add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

    <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/></assemblies></

    compilation>

    <!--

    The <authentication> section enables configuration

    of the security authentication mode used by

    ASP.NET to identify an incoming user.

    -->

    <authentication mode="Forms"><

    forms defaultUrl="home.aspx" timeout="30" slidingExpiration="true"></forms>

    </authentication><

    anonymousIdentification enabled="true"/>

    <membership defaultProvider="SqlComapanyMembershipProvider"><

    providers>

     

    <
    add name="SqlComapanyMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="Comapny_dbConnectionString" applicationName="/TestApp"/>

    </providers></

    membership>

    <roleManager defaultProvider="SqlCompanyRoleManager"><

    providers>

    <clear/><

    add name="SqlCompanyRoleManager" applicationName="/TestApp" connectionStringName="Comapny_dbConnectionString" type="System.Web.Security.SqlRoleProvider"/></providers>

     

    </
    roleManager>

     

    <!--

    The <customErrors> section enables configuration

    of what to do if/when an unhandled error occurs

    during the execution of a request. Specifically,

    it enables developers to configure html error pages

    to be displayed in place of a error stack trace.

    <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">

    <error statusCode="403" redirect="NoAccess.htm" />

    <error statusCode="404" redirect="FileNotFound.htm" />

    </customErrors>

    -->

    <pages><

    controls>

    <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/><

    add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

    </controls></

    pages>

    <httpHandlers><

    remove verb="*" path="*.asmx"/>

    <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/><

    add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

    <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/></

    httpHandlers>

    <httpModules><

    add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

    </httpModules></

    system.web>

    <system.codedom><

    compilers>

    <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"><

    providerOption name="CompilerVersion" value="v3.5"/>

    <providerOption name="WarnAsError" value="false"/></

    compiler>

    <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"><

    providerOption name="CompilerVersion" value="v3.5"/>

    <providerOption name="OptionInfer" value="true"/><

    providerOption name="WarnAsError" value="false"/>

    </compiler></

    compilers>

    </system.codedom><!--

    The system.webServer section is required for running ASP.NET AJAX under Internet

    Information Services 7.0. It is not necessary for previous version of IIS.

    -->

    <system.webServer><

    validation validateIntegratedModeConfiguration="false"/>

    <modules><

    remove name="ScriptModule"/>

    <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></

    modules>

    <handlers><

    remove name="WebServiceHandlerFactory-Integrated"/>

    <remove name="ScriptHandlerFactory"/><

    remove name="ScriptHandlerFactoryAppServices"/>

    <remove name="ScriptResource"/><

    add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

    <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/><

    add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

    </handlers></

    system.webServer>

    <runtime><

    assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

    <dependentAssembly><

    assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>

    <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/></

    dependentAssembly>

    <dependentAssembly><

    assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>

    <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/></

    dependentAssembly>

    </assemblyBinding></

    runtime>

    </configuration>

     

  6. Drag and drop Create User Control , Login control and LoginStatus control, Forgot password control From Login controls .

  7. Create user and try to login using newly created user and see the status of loged in user

  8. if status is Lofout tat means you loged into webapplication.Satalaj

Membership ProviderMembershipProvider Get user UniqekeyWeb Hosting ProvidersMemberShip Count Online UsersIFormatProvider DateTime C#.netShared Hosting ProvidersDateTimeTryParse with IFormatProvider culture information using c#The-MicrosoftJetOLEDB40-provider-is-not-registered-on-the-local-machineOLE DB provider SQLNCLI for linked server returned message Cannot start more transactions on this sessionOLE DB provider SQLNCLI for linked server returned message The partner transaction manager has disabled its support for remotenetwork transactionsC# Parse method of DateTime

Author

My name is Satalaj, but people call me Sat. Here is my homepage: . I live in Pune, PN and work as a Software Engineer. I'm former MVP in ASP.net year 2010.
Disclaimer: Views or opinion expressed here are my personal research and it has nothing to do with my employer. You are free to use the code, ideas/hints in your projects. However, you should not copy and paste my original content to other web sites. Feel free to copy or extend the code.
If you want to fight with me, this website is not for you.
 

I'm Satalaj.