ASP.NET登陆控件membership的配置方法(zhuan)

这篇文章面向已经会使用ASP.NET登陆控件的开发者。ASP.NET登陆控件里面要进行membership配置,只要添加一个数据库,并且修改一下配置文件,便基本可以实现。下面是实现步骤:

1. sql server2005中建立了一个空的数据库:membershipdemo

2. 在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727目录下运行aspnet_regsql.exe, 自动生产表结构和存储过程

自动生产表结构和存储过程

3. 配置web.config

a. 增加一个数据库连接字符串

  1. < connectionStrings>
  2.     < add name="SqlServices" connectionString="Data Source=Archer;Integrated Security=SSPI;Initial Catalog=MembershipDemo;" />
  3.     < remove name="LocalSqlServer"/>
  4. < /connectionStrings>

b. 要求登录验证身份,加上一个forms验证。

  1. < authentication mode="Forms">  
  2. < forms loginUrl="login.aspx" name=".aspxlogin"/>  
  3. < /authentication> 

c. membership配置:添加membership节点

  1. < membership defaultProvider="AspNetMembershipProvider" userIsOnlineTimeWindow="20"> 
  2.         < providers> 
  3.           < remove name="AspNetSqlMembershipProvider" /> 
  4.           < add name="AspNetMembershipProvider"
  5.               type="System.Web.Security.SqlMembershipProvider"
  6.               connectionStringName="SqlServices"
  7.               enablePasswordRetrieval="true"
  8.               enablePasswordReset="true"
  9.               requiresQuestionAndAnswer="true"
  10.               passwordFormat="Clear"
  11.               applicationName="/" /> 
  12.         < /providers> 
  13.       < /membership> 

d. 再配置其角色管理roleManager

  1. < roleManager enabled="true" defaultProvider ="AspNetRoleProvider"> 
  2.         < providers> 
  3.           < remove name="AspNetSqlRoleProvider" /> 
  4.           < add name="AspNetRoleProvider" connectionStringName="SqlServices"  
  5.                type="System.Web.Security.SqlRoleProvider,System.Web, Version=2.0.0.0, Culture=neutral,    PublicKeyToken=b03f5f7f11d50a3a"
  6.               applicationName="/" /> 
  7.         < /providers> 
  8.       < /roleManager> 

注意上面的remove节点, 原因是因为 默认情况下,使用的连接是 machine.config 中定义的 LocalSqlServer ,我们使用自己定义的连接比较方便.

4. 建web站点, 增加网页NewUser.aspx, 拖动CreateUserWizard控件, 设置其FinishDestinationPageUrl属性 为default.aspx, 就ok了.

5. 其他ASP.NET登陆控件也一样,拖上去就可以使用

6. 如果想要使用找回密码功能, 需要配置邮件服务器

  1. < mailSettings>  
  2. < smtp deliveryMethod="Network" from="Admin@coplay.com">  
  3. < network defaultCredentials="false" host="smtp.coplay.com" password="*" port="25" userName=*@coplay.com />  
  4. < /smtp>  
  5. < /mailSettings> 

这样就完成了ASP.NET登陆控件的membership配置。

posted @ 2009-09-17 08:15  pursue  阅读(634)  评论(0编辑  收藏  举报