成员资格介绍

成员资格介绍

.NET Framework 4

.N
ET 成员资格为您提供了一种验证和存储用户凭据的内置方法。   因此,ASP.NET 成员资格可帮助您管理网站中的用户身份验证。   您可以将 ASP.NET 成员资格与 ASP.NET Forms 身份验证或 ASP.NET 登录控件一起使用以创建一个完整的用户身份验证系统。

ASP.NET 成员资格支持下列功能:

  • 创建新用户和密码。

  • 将成员资格信息(用户名、密码和支持数据)存储在 Microsoft SQL Server、Active Directory 或其他数据存储区。

  • 对访问站点的用户进行身份验证。 可以以编程方式验证用户,也可以使用 ASP.NET 登录控件创建一个只需很少代码或无需代码的完整身份验证系统。

  • 管理密码,包括创建、更改和重置密码。 根据您选择的成员资格选项不同,成员资格系统还可以提供一个使用用户提供的问题和答案的自动密码重置系统。

  • 公开经过身份验证的用户的唯一标识,您可以在您自己的应用程序中使用该标识,也可以将该标识与 ASP.NET 个性化设置和角色管理(授权)系统集成。

  • 指定自定义成员资格提供程序,这使您可以改为用自己的代码管理成员资格及在自定义数据存储区中维护成员资格数据

虽然成员资格是 ASP.NET 中用来进行身份验证的独立功能,但它可以与 ASP.NET 角色管理集成以便为站点提供授权服务。 成员资格还可以与用户配置文件属性集成,以提供可为单个用户量身订做的特定于应用程序的自定义。 有关详细信息,请参见使用角色管理授权和 ASP.NET 配置文件属性概述 有关如何将成员资格与角色配合使用的信息,请参见演练:通过角色管理网站用户

若要使用成员资格,必须首先为站点配置成员资格。 以下是您配置成员资格所需执行的基本步骤:

  1. 将成员资格选项指定为网站配置的一部分。 默认情况下,成员资格处于启用状态。 还可以指定要使用哪个成员资格提供程序。 默认提供程序会将成员资格信息存储在 Microsoft SQL Server 数据库中。 但您也可以使用其他提供程序,如针对 Windows Live ID 的提供程序。 还可以选择使用 Active Directory 存储成员资格信息,或者可以指定自定义提供程序。 有关可以在 ASP.NET 应用程序的 Web.config 文件中指定的成员资格配置选项的信息,请参见配置 ASP.NET 应用程序以使用成员资格

  2. 将您的应用程序配置为使用 Forms 身份验证(与 Windows 或 Windows Live ID 身份验证不同)。

    还可指定应用程序中的某些页或文件夹受到保护,并只能由经过身份验证的用户访问。 有关更多信息,请参见演练:通过角色管理网站用户

  3. 为成员资格定义用户帐户。 可以通过多种方式执行此操作。 可以使用网站管理工具,该工具提供了一个用于创建新用户的类似向导的界面。 或者,可以使用 ASP.NET 网页,在该网页中收集用户名和密码(及电子邮件地址(可选)),然后使用 CreateUser 成员资格方法在成员资格系统中创建一个新用户。

然后,您可以使用成员资格对应用程序中的用户进行身份验证。 通常,您将提供一个用户可登录的页、一个新用户可注册的注册页和一个用户可更改其密码的密码更改页。 ASP.NET 登录控件(LoginLoginViewLoginStatusLoginName 和 PasswordRecovery)实际上封装了提示用户输入凭据及验证成员资格系统中的凭据所需的所有逻辑。

Visual Studio 中用于创建 ASP.NET 项目的默认模板包括多个页,这些页包含许多基本登录功能。 有关如何使用项目模板的信息,请参见演练:使用基本用户登录功能创建 ASP.NET 网站 或者,您可以使用该模板中的相同 ASP.NET 控件来创建自定义登录页和成员资格页。 有关如何手动将这些 ASP.NET 控件放在一起来创建验证用户身份的应用程序的信息,请参见演练:创建具有成员资格和用户登录功能的网站

如果您已将应用程序配置为使用 Forms 身份验证,则在未经验证的用户请求一个受保护的页面时,ASP.NET 将自动显示登录页。

如果您使用 ASP.NET 中提供的项目模板或使用登录控件,它们都将自动使用成员资格系统来验证用户。 如果创建自定义登录控件,则必须调用 ValidateUser 方法来验证用户的用户名和密码。 在验证用户后,可保留有关用户的信息(例如,如果用户的浏览器接受 Cookie,则使用加密 Cookie)。 登录控件将自动执行此任务,但如果您创建自定义登录控件,则可调用 FormsAuthentication 类的方法来创建 Cookie 并将其写入用户的计算机中。 如果用户忘记了他或她的密码,则登录页可以调用成员资格函数,帮助用户恢复密码或重置密码。

每当用户请求页时,ASP.NET Forms 身份验证都会检查是否对用户进行了身份验证。 当某个页受到限制时,作为已批准角色的成员的已验证用户可查看该页。 匿名用户(未登录的用户)将定向到登录页。 默认情况下,身份验证 Cookie 在用户会话期间一直有效。

在用户经过身份验证后,成员资格系统会提供一个包含有关当前用户的信息的对象。 例如,您可以获取成员资格用户对象的属性来确定用户名、电子邮件地址、用户上次登录到网站的时间等。

成员资格系统的一个重要方面是无需显式执行任何低级数据库函数就可以获取或设置用户信息。 例如,通过调用成员资格 CreateUser 方法就可创建一个新用户。 成员资格系统处理创建存储用户信息所需的数据库记录的细节。 在调用 ValidateUser 方法检查用户凭据时,成员资格系统会执行所有数据库查询。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值