ASP.NET 2.0中的成员管理与角色管理
转自http://www.cnblogs.com/zmsx/archive/2006/01/03/310381.html
ASP.NET 2.0中的成员管理与角色管理
1. 成员服务
使用ASP.NET Web Site Administration Tool创建配置网站的权限信息。该工具在http://localhost/<项目名>/webadmin.axd,通过配置,该工具将直接生成一个web.config的文件用于存贮成员信息。
在asp.net2.0中也提供了两个类用于成员管理,这两个类是Membership和MembershipUser,他们位于System.Web.Security命名空间下。其中前者包含一系列静态方法,用于创建,删除,更改,验证等操作。后者是一个描述单一用户的登陆信息的类,每一个实例就是一个用户登陆信息的集合。
Membership的一些方法:(基本可以见名知意)
- CreateUser
- DeleteUser
- GeneratePassword
- GetAllUser
- GetUser
- UpdateUser
- ValidateUser
MembershipUser的一些方法:
- ChangePassword
- ChangePasswordQuestionAndAnswer
- GetPassword
- ResetPassword
MembershipUser的一些属性:(基本可以见名知意)
- Comment(用于存储用户自定义数据)
- CreationDate
- LastLoginDate
- LastPasswordChangedDate
- UserId
- UserName
一些例子:
创建一个新用户
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
更改密码
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
另所有的用户信息可以存储在SQL Server中或者Access中。要在SQL Server中存储这些信息可以使用<windir>\Microsoft.NET\Framework\<version>下的aspnet_regsql.exe工具来生成数据库。如下图
数据库生成完毕后需要在配置文件中做如下更改:
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
2. 角色管理服务
与成员管理类似,角色管理也能通过ASP.NET Web Site Administration Tool进行。与成员管理不同的是角色管理只有一个类Roles。也就是说role只是作为一个字符串存在,并没有一个role类来记录它的成员信息。
它提供一系列静态方法用于角色操作。(同样,基本是见名知意)
- AddUserToRole
- CreateRole
- DeleteRole
- GetRolesForUser
- GetUsersInRole
- IsUserInRole
- RemoveUserFromRole
由于角色管理缺省是禁用的,所以要在配置文件中做如下更改:
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://zmsx.cnblogs.com/Images/OutliningIndicators/None.gif)