跳转到内容

ASP.NET/会员资格

来自维基教科书,开放的书籍,开放的世界

ASP.Net 会员资格提供程序

[编辑 | 编辑源代码]

从 ASP.Net 版本 2.0 开始,微软包含了一个会员系统,或会员资格提供程序,可以轻松地集成到任何具有 MSSql 数据库后端的 ASP.Net 2.0 网站中。新系统不仅限于登录,还集成了基于角色的身份验证,以及配置文件,并且消除了创建自己的系统来做同样的事情的大部分麻烦。

第一步:设置数据库

[编辑 | 编辑源代码]

由于新的会员系统依赖于 MSSql 数据库后端,因此第一步是进行必要的添加/更改到您的 web.config 文件中。

如果您目前没有连接字符串条目到您在 web.config 文件中的 MSSql 数据库,请先参考 ASP.Net 数据库部分,然后继续执行下一步。

假设您已将数据库连接字符串正确地输入到您的 web.config 文件中,我们现在将配置您的数据库并添加必要的表、存储过程等等。幸运的是,微软提供了一个工具来完成这项工作,这使得这项工作变得相当轻松!该工具被称为 aspnet_regsql.exe,通常位于以下路径:C:\windows\microsoft.net\Framework\v2.0.xxxxx\aspnet_regsql.exe。启动 ASP.Net SQL Server 设置向导后,单击下一步。从下一页中选择为应用程序服务配置 SQL Server 选项,然后单击下一步。此时,向导要求您提供 MSSQL 数据库的路径/位置。在服务器框中,输入您正在使用的 MSSQL 服务器的完整路径。如果 SQL 服务器位于当前机器上,则在框中输入 localhost。如果您的服务器位于远程机器上,那么您可能需要输入 SQL 身份验证,除非您使用的是 Windows 身份验证。

输入完所有身份验证信息后,从下拉列表中选择您要使用的数据库,然后单击下一步。下一个屏幕将简单地提供您所选信息的摘要,向您显示服务器和数据库的名称,向导将把会员架构信息安装到其中。单击下一步将架构安装到您的数据库中。如果一切顺利,您应该会看到一个成功屏幕,您可以单击完成。

在 Web.config 中启用会员资格

[编辑 | 编辑源代码]

更新数据库架构后,下一步是修改我们的 Web.config 文件并启用会员资格提供程序。

首先打开您的 Web.config 文件。在页面顶部或靠近顶部,应该是我们之前在数据库部分中输入的数据库连接字符串。注意此连接的名称,例如 LocalSqlServer,或者您为它命名的任何名称。

在 Web.config 文件的 <System.Web> 部分内,我们复制并粘贴以下代码片段

    <membership defaultProvider="CustomizedProvider">
      <providers>
         <add name="CustomizedProvider"
              type="System.Web.Security.SqlMembershipProvider"  
              connectionStringName="YourSqlServerConnectionName"
              applicationName="MyMembership"
              minRequiredPasswordLength="5"
              minRequiredNonalphanumericCharacters="0" />
      </providers>
    </membership>

同样在 Web.config 文件的 <System.Web> 部分内,您需要更改您的身份验证条目,使其看起来像这样

   <authentication mode="Forms" />

假设您的连接字符串正确,您正确安装了会员架构,并且您正确地复制、粘贴和修改了以上代码,那么在它正常工作之前,应该不会剩下太多工作了。因此,让我们保存我们的 Web.config 文件并测试它。

创建新用户

[编辑 | 编辑源代码]

测试我们系统的最佳方法是尝试创建一个用户。ASP.Net 2.0 中包含几个专门用于处理会员资格提供程序的 Web 控件,这些控件应该在您的工具箱中。因此,让我们在网站的根目录中创建一个新的 Web 表单。将 CreateUserWizard 从工具箱拖放到您的新页面上。保存页面,然后单击预览页面按钮/手动在 Web 浏览器中加载页面,然后尝试填写所有字段并创建一个新用户。如果一切正常,您应该在浏览器中看到一个用户创建成功的框。

以新用户身份登录

[编辑 | 编辑源代码]

现在我们可以创建用户了,让我们尝试以用户身份登录。在工具箱中,还有一个登录控件,我们可以将其拖放到我们之前创建的同一个页面上。我们还希望添加一个 LoginName 控件,以便在登录后,我们可以验证我们以谁的身份登录。将这些控件添加到页面后,保存页面,并在 Web 浏览器中再次加载它。使用登录框,尝试使用您之前创建的帐户登录。如果一切顺利,您应该登录,LoginName 控件将显示您的用户名。

包含的登录/身份验证相关控件概述

[编辑 | 编辑源代码]

登录 - 标准用户名和密码登录框。登录控件非常可定制。单击登录按钮时,默认操作是回发页面并验证用户的凭据。
LoginView - 允许您在页面的某个部分显示不同的内容,具体取决于用户是否已登录。LoginView 还可以用于根据用户的角色向用户显示不同的内容(无论用户是否已登录)。
PasswordRecovery - 为用户提供访问其自身密码的权限。需要回答密码问题。
LoginStatus - 显示用户的当前状态。如果用户已登录,则此控件将显示注销链接。如果用户未登录,则此用户将显示登录链接。
LoginName - 将显示当前登录用户的用户名。如果没有用户登录,则不会显示任何内容。
CreateUserWizard - 帮助您创建新用户帐户的向导。
ChangePassword - 更改密码控件,允许用户更改其自身密码,要求您输入旧密码。

华夏公益教科书