新建一个网站,把Login组件拖入页面后,Login组件的属性页中即可看到管理网站的链接,在提供程序配置中的为每项功能选择不同的提供程序(高级) 管理中,默认有AspNetSqlMembershipProvider(成员资格)和AspNetSqlRoleProvider ,AspNetWindowsTokenRoleProvider(角色)的测试,其实其测试成功会在网站的app_data中新建一个aspnet.mdf文件数据库,在安全管理中,添加成员和角色都将存入该数据库。我们想在要做的是将这些信息保存到指定的SqlServer数据库中。
1. 利用aspnet_regsql工具生成(或/和配置)一数据库,命名为membership;
2. 在网站的Web.config中配置数据库链接,
<connectionStrings>
  <add name="Membership" connectionString="Database=MemberShip;Server=localhost;Integrated Security=SSPI;" providerName="System.Data.SqlClient"/>
 </connectionStrings>
3. 在System.web下添加
<membership defaultProvider="SQLMembershipProvider">
   <providers>
    <add name="SQLMembershipProvider" connectionStringName="Membership" applicationName=".Webname" type="System.Web.Security.SqlMembershipProvider"/>
   </providers>
  </membership>
  <roleManager defaultProvider="SQLRoleProvider">
   <providers>
    <add name="SQLRoleProvider" connectionStringName="Membership" applicationName=".Webname" type="System.Web.Security.SqlRoleProvider"/>
   </providers>
  </roleManager>
这是关键,其原理是在管理工具中调用System.Web.Security的SqlMembershipProvider和SqlRoleProvider类中的CreateUser等方法(请参见System.Web.Security类);并保存到connectionStringName配置的数据库中
4.  Test it.

posted on 2006-05-19 17:24  知其所以然  阅读(1616)  评论(6)    收藏  举报