ASP.NET 2.0中的成员管理与角色管理
2006-10-11 09:05
204 查看
1. 另可以在cookie中缓存角色信息,要实现这一点只需要在配置文件中做如下更改:
成员服务
使用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
Email
LastLoginDate
LastPasswordChangedDate
UserId
UserName
一些例子:
创建一个新用户
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
MembershipCreateStatus status;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
MembershipUser user = Membership.CreateUser(this.TB_Username.Text,
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
this.TB_Password.Text, this.TB_Email.Text, out status);//传出参数status中包含了创建用户的结果信息,可以根据这些信息进行进一步处理.
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
更改密码
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
if (this.IsValid)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
MembershipUser user = Membership.GetUser();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
user.Email = this.TB_Email.Text;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
user.Comment = this.TB_Comment.Text;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Membership.UpdateUser(user);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if ((this.TB_OldPassword.Text.Length > 0) &&
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
(this.TB_NewPassword.Text.Length > 0))
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
user.ChangePassword(this.TB_OldPassword.Text,
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.TB_NewPassword.Text);
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
另所有的用户信息可以存储在SQL Server中或者Access中。要在SQL Server中存储这些信息可以使用<windir>/Microsoft.NET/Framework/<version>下的aspnet_regsql.exe工具来生成数据库。如下图
数据库生成完毕后需要在配置文件中做如下更改:
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<?xml version="1.0"?>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<configuration>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<connectionStrings>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<add name="LocalSqlServer"
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
connectionString="data source=127.0.0.1;Integrated Security=SSPI" />
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</connectionStrings>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<system.web>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<membership defaultProvider="AspNetSqlProvider" />
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<roleManager enabled="true" defaultProvider="AspNetSqlProvider" />
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</system.web>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</configuration>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2. 角色管理服务
与成员管理类似,角色管理也能通过ASP.NET Web Site Administration Tool进行。与成员管理不同的是角色管理只有一个类Roles。也就是说role只是作为一个字符串存在,并没有一个role类来记录它的成员信息。
它提供一系列静态方法用于角色操作。(同样,基本是见名知意)
由于角色管理缺省是禁用的,所以要在配置文件中做如下更改:
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<configuration>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<system.web>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<roleManager enabled="true" />
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</system.web>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</configuration>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
AddUserToRole
CreateRole
DeleteRole
GetRolesForUser
GetUsersInRole
IsUserInRole
RemoveUserFromRole
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<configuration>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<system.web>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<roleManager enabled="true" cacheRolesInCookie="true" />
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<!-- 其他属性以及默认值:
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
cookieName=".ASPXROLES" // Cookie 名
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
cookieTimeout="30" // Cookie 生存期
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
cookiePath="/" // Cookie 路径
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
cookieRequireSSL="false" // 限制 cookie 使用 SSL
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
cookieSlidingExpiration="true" // 重新申请满期的Cookie
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
cookieProtection="All" /> // Cookie 保护级别
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
-->
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</system.web>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</configuration>
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1311705
成员服务
使用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
一些例子:
创建一个新用户
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
MembershipCreateStatus status;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
MembershipUser user = Membership.CreateUser(this.TB_Username.Text,
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
this.TB_Password.Text, this.TB_Email.Text, out status);//传出参数status中包含了创建用户的结果信息,可以根据这些信息进行进一步处理.
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
更改密码
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
if (this.IsValid)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
MembershipUser user = Membership.GetUser();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
user.Email = this.TB_Email.Text;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
user.Comment = this.TB_Comment.Text;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Membership.UpdateUser(user);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if ((this.TB_OldPassword.Text.Length > 0) &&
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
(this.TB_NewPassword.Text.Length > 0))
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
user.ChangePassword(this.TB_OldPassword.Text,
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.TB_NewPassword.Text);
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
另所有的用户信息可以存储在SQL Server中或者Access中。要在SQL Server中存储这些信息可以使用<windir>/Microsoft.NET/Framework/<version>下的aspnet_regsql.exe工具来生成数据库。如下图
数据库生成完毕后需要在配置文件中做如下更改:
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<?xml version="1.0"?>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<configuration>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<connectionStrings>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<add name="LocalSqlServer"
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
connectionString="data source=127.0.0.1;Integrated Security=SSPI" />
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</connectionStrings>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<system.web>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<membership defaultProvider="AspNetSqlProvider" />
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<roleManager enabled="true" defaultProvider="AspNetSqlProvider" />
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</system.web>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</configuration>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2. 角色管理服务
与成员管理类似,角色管理也能通过ASP.NET Web Site Administration Tool进行。与成员管理不同的是角色管理只有一个类Roles。也就是说role只是作为一个字符串存在,并没有一个role类来记录它的成员信息。
它提供一系列静态方法用于角色操作。(同样,基本是见名知意)
由于角色管理缺省是禁用的,所以要在配置文件中做如下更改:
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<configuration>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<system.web>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<roleManager enabled="true" />
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</system.web>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</configuration>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
AddUserToRole
CreateRole
DeleteRole
GetRolesForUser
GetUsersInRole
IsUserInRole
RemoveUserFromRole
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<configuration>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<system.web>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<roleManager enabled="true" cacheRolesInCookie="true" />
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<!-- 其他属性以及默认值:
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
cookieName=".ASPXROLES" // Cookie 名
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
cookieTimeout="30" // Cookie 生存期
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
cookiePath="/" // Cookie 路径
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
cookieRequireSSL="false" // 限制 cookie 使用 SSL
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
cookieSlidingExpiration="true" // 重新申请满期的Cookie
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
cookieProtection="All" /> // Cookie 保护级别
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
-->
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</system.web>
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</configuration>
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1311705
相关文章推荐
- ASP.NET 2.0角色及成员管理
- ASP.NET 2.0 成员资格和角色管理授权
- ASP.NET 2.0角色及成员管理
- asp.net 2.0教程 成员资格和角色管理
- 保护你的ASP.NET应用程序 15.5 ASP.NET 2.0的成员资格和角色管理器
- ASP.NET 2.0角色及成员管理
- asp.net 2.0教程 成员资格和角色管理
- 使用 IIS 进行 Microsoft ASP.NET 2.0 成员/角色管理,第 2 部分:实现
- [.NET 基于角色安全性验证] 之四:ASP.NET 2.0 成员资格和角色管理授权
- ASP.NET 2.0角色及成员管理
- ASP.NET 2.0中的成员管理与角色管理
- 温故知新ASP.NET 2.0(C#)(6) - Membership&RoleManager(成员资格和角色管理)
- 重新过一遍ASP.NET 2.0(C#)(6) - Membership&RoleManager(成员资格和角色管理)
- asp.net 2.0教程 成员资格和角色管理
- 使用 IIS 进行 ASP.NET 2.0 成员/角色管理
- 使用 IIS 进行 Microsoft ASP.NET 2.0 成员/角色管理,第 1 部分:安全和配置概述
- ASP.NET 2.0角色及成员管理
- Asp.net 2.0中的角色成员管理
- 温故知新ASP.NET 2.0(C#)(6) - Membership&RoleManager(成员资格和角色管理)
- ASP.NET 2.0的成员资格和角色管理器