初识 ASP.NET Membership 用户管理
一、与session的不同点
Membership一般指用微软的aspnetdb数据库来进行身份认证
Session是指网站用户的会话信息
二、Membership类提供的功能可用于:
1.创建新用户。
2.将成员资格信息(用户名、密码、电子邮件地址及支持数据)存储在MicrosoftSQLServer或其他类似的数据存储区。
3.对访问网站的用户进行身份验证。可以以编程方式对用户进行身份验证,也可以使用Login控件创建一个只需很少代码或无需代码的完整的身份验证系统。
4.管理密码,包括创建、更改、检索和重置密码等等。可以选择配置ASP.NET成员资格以要求一个密码提示问题及其答案来对忘记密码的用户的密码重置和检索请求进行身份验证。
虽然ASP.NET成员资格是ASP.NET中用来进行身份验证的独立功能,但它可以与ASP.NET角色管理集成来为站点提供授权服务。成员资格还可以与ASP.NET用户的System.Web.Profile集成,以提供可为各个用户量身订做的特定于应用程序的自定义实现。有关详细信息,请参见了解角色管理和ASP.NET配置文件属性概述。
Membership类依赖于成员资格提供程序与数据源通信。.NETFramework包括一个SqlMembershipProvider(将用户信息存储在MicrosoftSQLServer数据库中)和一个ActiveDirectoryMembershipProvider(允许在ActiveDirectory或ActiveDirectory应用程序模式(ADAM)服务器上存储用户信息)。还可以实现一个自定义成员资格提供程序与可由Membership类使用的其他类似的数据源进行通信。自定义成员资格提供程序将继承MembershipProvider抽象类。有关更多信息,请参见实现成员资格提供程序。
默认情况下,ASP.NET成员资格可支持所有ASP.NET应用程序。默认成员资格提供程序为SqlMembershipProvider并在计算机配置中以名称AspNetSqlProvider指定。SqlMembershipProvider的默认实例配置为连接到MicrosoftSQLServer的一个本地实例。
可以通过修改默认设置将一个非AspNetSqlProvider实例的SqlMembershipProvider指定为默认提供程序,或使用Web.config文件将自定义提供程序的实例指定为ASP.NET应用程序的默认提供程序。可以使用Web.config文件中membership配置节来为Web应用程序指定ASP.NET成员资格配置。可以使用membership节的providers子节来指定默认提供程序之一以外的成员资格提供程序。例如,下面的membership节从当前应用程序配置中移除默认成员资格提供程序并添加一个名为SqlProvider的新提供程序,它连接到名为MySqlServer的SQLServer实例。
<configuration> <connectionStrings> <addname="SqlServices"connectionString="DataSource=MySqlServer;IntegratedSecurity=SSPI;InitialCatalog=aspnetdb;"/> </connectionStrings> <system.web> <membershipdefaultProvider="SqlProvider"userIsOnlineTimeWindow="20"> <providers> <removename="AspNetSqlProvider"/> <addname="SqlProvider"type="System.Web.Security.SqlMembershipProvider"connectionStringName="SqlServices"enablePasswordRetrieval="false"enablePasswordReset="true"requiresQuestionAndAnswer="true"passwordFormat="Hashed"applicationName="/"/> </providers> </membership> </system.web> </configuration>
在ASP.NET应用程序中,Membership类用于验证用户凭据并管理用户设置(如密码和电子邮件地址)。Membership类可以独自使用,或者与FormsAuthentication一起使用以创建一个完整的Web应用程序或网站的用户身份验证系统。Login控件封装了Membership类,从而提供一种便捷的用户验证机制。