asp.net2.0 登录控件使用(membership) 的环境配置及使用

来源:互联网 发布:mac book 系统升级 编辑:程序博客网 时间:2024/05/19 15:39

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

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

3. 配置web.config

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

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

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

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

c. 添加membership节点

<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节点, 原因是因为 默认情况下,使用的连接是 machine.config 中定义的 LocalSqlServer ,我们使用自己定义的连接比较方便.
 

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

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

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

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