ASP.NET登陸控件membership的配置方法
這篇文章面向已經(jīng)會(huì)使用ASP.NET登陸控件的開(kāi)發(fā)者。ASP.NET登陸控件里面要進(jìn)行membership配置,只要添加一個(gè)數(shù)據(jù)庫(kù),并且修改一下配置文件,便基本可以實(shí)現(xiàn)。下面是實(shí)現(xiàn)步驟:
1. sql server2005中建立了一個(gè)空的數(shù)據(jù)庫(kù):membershipdemo
2. 在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727目錄下運(yùn)行aspnet_regsql.exe, 自動(dòng)生產(chǎn)表結(jié)構(gòu)和存儲(chǔ)過(guò)程
3. 配置web.config
a. 增加一個(gè)數(shù)據(jù)庫(kù)連接字符串
- < connectionStrings>
- < add name="SqlServices" connectionString="Data Source=Archer;Integrated Security=SSPI;Initial Catalog=MembershipDemo;" />
- < remove name="LocalSqlServer"/>
- < /connectionStrings>
b. 要求登錄驗(yàn)證身份,加上一個(gè)forms驗(yàn)證。
- < authentication mode="Forms">
- < forms loginUrl="login.aspx" name=".aspxlogin"/>
- < /authentication>
c. membership配置:添加membership節(jié)點(diǎn)
- < membership defaultProvider="AspNetMembershipProvider" userIsOnlineTimeWindow="20">
- < providers>
- < remove name="AspNetSqlMembershipProvider" />
- < add name="AspNetMembershipProvider"
- type="System.Web.Security.SqlMembershipProvider"
- connectionStringName="SqlServices"
- enablePasswordRetrieval="true"
- enablePasswordReset="true"
- requiresQuestionAndAnswer="true"
- passwordFormat="Clear"
- applicationName="/" />
- < /providers>
- < /membership>
d. 再配置其角色管理roleManager
- < roleManager enabled="true" defaultProvider ="AspNetRoleProvider">
- < providers>
- < remove name="AspNetSqlRoleProvider" />
- < add name="AspNetRoleProvider" connectionStringName="SqlServices"
- type="System.Web.Security.SqlRoleProvider,System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- applicationName="/" />
- < /providers>
- < /roleManager>
注意上面的remove節(jié)點(diǎn), 原因是因?yàn)?默認(rèn)情況下,使用的連接是 machine.config 中定義的 LocalSqlServer ,我們使用自己定義的連接比較方便.
4. 建web站點(diǎn), 增加網(wǎng)頁(yè)NewUser.aspx, 拖動(dòng)CreateUserWizard控件, 設(shè)置其FinishDestinationPageUrl屬性 為default.aspx, 就ok了.
5. 其他ASP.NET登陸控件也一樣,拖上去就可以使用
6. 如果想要使用找回密碼功能, 需要配置郵件服務(wù)器
- < mailSettings>
- < smtp deliveryMethod="Network" from="Admin@coplay.com">
- < network defaultCredentials="false" host="smtp.coplay.com" password="*" port="25" userName=*@coplay.com />
- < /smtp>
- < /mailSettings>
這樣就完成了ASP.NET登陸控件的membership配置。
【編輯推薦】