ASP.NET 成员资格与角色管理
以前我们自己创建成员库表,自己创建逻辑代码管理身份验证、资格管理、角色管理。
现在ASP.NET提出了自己的解决方案
1.提供登录系列控件2.提供Web站点管理工具
3.实现成员和角色管理功能
成员资格简介:
ASP.NET成员资格支持下列功能:
1.创建新用户和密码
2.将成员资格信息(用户名、密码和支持数据)存储在Microsoft SQL Server、Active Directory 或其他数据存储区
3.对访问站点的用户进行身份验证
4.管理密码,包括创建、更改和重置密码
5.公开经过身份验证的用户的唯一标识,您可以在您自己的应用程序中使用该标识,也可以将该标识与 ASP.NET 个性化设置和角色管理(授权)系统集成
6.指定自定义成员资格提供程序,这使您可以改为用自己的代码管理成员资格及在自定义数据存储区中维护成员资格数据
成员资格管理模型:
ASP.NET提供的成员资格管理功能,其核心是利用内置的成员库表(SQL Server)、成员资格管理API(Membership、MembershipUser等)、成员资格提供程序(SqlMembershipProvider等),实现模块化和自动化的成员资格管理模式
Membership类用于验证用户凭据并管理用户设置,具有以下几个主要功能:
1.创建和管理用户
2.将成员资格信息存储在SQL Server或其他数据存储区中
3.对访问站点的用户进行身份验证。可以以编程方式对用户进行身份验证,也可以使用登录控件创建一个只需很少代码或无需代码的完整身份验证系统
4.管理密码,包括创建、更改、检索和重置密码等。可以选择配置成员资格管理功能,以要求一个密码提示问题及其答案来对忘记密码的用户的密码进行重置
Membership类常用属性
Membership类常用方法
roles类
Roles类分割了用户界面与执行底层数据访问的角色管理提供程序,从而为快速实现多种数据源存储的角色管理应用提供技术支持
Roles类具有以下几个主要功能:
1.创建和管理角色
2.将角色信息存储在SQL Server或其他数据源中
3.获取有关角色管理配置的详细内容
roles类的常用方法:
进入ASP.NET配置:
安全设置引导注册账户创建角色:
主页:
安全:
所有的成员资格用户信息都有一个标识,利用此标识,根据实际情况可以在数据库中另外创建一个自定义用户表以保存一些扩充信息,这个表与成员资格的用户表之间使用此用户标识进行关联。
自定义一个成员资格提供程序,MemberShipProvider类实现其中所有的方法。
自定义一个角色管理提供程序,RoleProvider类实现其中所有的方法。
修改网站的web.config,使用新开发的提供程序替换掉默认的SqlMemberShipProvider和AspNet/SqlRoleProvider即可。