一、背景
很多web应用系统都会有用户管理、访问控制这样的功能。Asp.net 2.0开始就为我们实现这样的功能,省去了重复造轮子的麻烦。这就是现在要讲的membership(成员资格)。
二、概述
membersip可以验证和管理 Web 应用程序的用户信息。它提供验证用户、创建和修改用户及管理用户信息(如密码和电子邮件地址)等功能。membership主要用于 ASP.NET Forms 身份验证。membership主要由membership provider组成,这些提供程序与数据源、 Membership 静态类进行通信。从 ASP.NET 代码调用 Membership 类以执行用户验证和管理。在vs2010中 还给membership提供了一系列的控件(例如安全控件里的login控件),能方便的在asp.net实现membership。
具体来说membership能实现:
1. 创建用户 。
2. 存储用户信息。用户信息可以保存membership信息在sql server,Active Directory以及其他的一些数据保存方法 ,这里我们将会重点讲解Oracle下membership的实现。sql server下的实现网上有很多相关资料,就不赘述了。
3. 鉴别谁在访问你的网站,即身份验证。如果使用login控件,几乎可以在不写代码的情况下完成。
4. 用户信息管理,比如更改用户信息。
5. 与role manager一起提供角色管理。
6. 还可以让用户自定义membership provider,从而实现一些自己网站特有的数据的保存和管理。
三、MembershipProvider介绍
membership的功能主要就是由membershipprovider来实现,并通过它来与数据源、membership静态类进行交互。该类的属性和方法参见msdn:
http://msdn.microsoft.com/zh-cn/library/system.web.security.membershipprovider.aspx
四、membership类
membership类用于验证用户凭据并管理用户设置,Membership 类依赖于成员资格提供程序与数据源通信,关系如图4-1所示。
图4-1
Membership 类提供的功能可用于:
-
创建新用户。
-
将成员资格信息(用户名、密码、电子邮件地址及支持数据)存储在 Microsoft SQL Server 或其他类似的数据存储区。
-
对访问站点的用户进行身份验证。 可以以编程方式对用户进行身份验证,也可以使用 Login 控件创建一个只需很少代码或无需代码的完整的身份验证系统。
-
管理密码,包括创建、更改、检索和重置密码等等。 可以选择配置 ASP.NET 成员资格以要求一个密码提示问题及其答案来对忘记密码的用户的密码重置和检索请求进行身份验证。
http://msdn.microsoft.com/zh-cn/library/system.web.security.membership.aspx
以上就是关于Membership的一个简要的介绍,更多的内容请参看以下链接:
1.http://www.cnblogs.com/lvfei/archive/2010/03/04/1678243.html