ASP.NET 2.0中的成员管理与角色管理

简介:

1.         成员服务

  使用ASP.NET Web Site Administration Tool创建配置网站的权限信息。该工具在http://localhost/<项目名>/webadmin.axd,通过配置,该工具将直接生成一个web.config的文件用于存贮成员信息。



asp.net2.0中也提供了两个类用于成员管理,这两个类是MembershipMembershipUser,他们位于System.Web.Security命名空间下。其中前者包含一系列静态方法,用于创建,删除,更改,验证等操作。后者是一个描述单一用户的登陆信息的类,每一个实例就是一个用户登陆信息的集合。

Membership的一些方法:(基本可以见名知意)

  •        CreateUser
  •        DeleteUser
  •        GeneratePassword
  •        GetAllUser
  •        GetUser
  •        UpdateUser
  •        ValidateUser

MembershipUser的一些方法:

  •        ChangePassword
  •        ChangePasswordQuestionAndAnswer
  •        GetPassword
  •        ResetPassword

MembershipUser的一些属性:(基本可以见名知意)

  •        Comment(用于存储用户自定义数据)
  •        CreationDate
  •        Email
  •        LastLoginDate
  •        LastPasswordChangedDate
  •        UserId
  •        UserName

 

一些例子:

创建一个新用户

 

None.gif MembershipCreateStatus status;
None.gif        MembershipUser user 
=  Membership.CreateUser( this .TB_Username.Text,
None.gif            
this .TB_Password.Text,  this .TB_Email.Text,  out  status); // 传出参数status中包含了创建用户的结果信息,可以根据这些信息进行进一步处理.
None.gif

更改密码

 

None.gif if  ( this .IsValid)
ExpandedBlockStart.gif    
{
InBlock.gif        MembershipUser user 
= Membership.GetUser();
InBlock.gif
InBlock.gif        user.Email 
= this.TB_Email.Text;
InBlock.gif        user.Comment 
= this.TB_Comment.Text;
InBlock.gif        Membership.UpdateUser(user);
InBlock.gif
InBlock.gif        
if ((this.TB_OldPassword.Text.Length > 0&&
InBlock.gif                 (
this.TB_NewPassword.Text.Length > 0))
ExpandedSubBlockStart.gif        
{
InBlock.gif            user.ChangePassword(
this.TB_OldPassword.Text,
InBlock.gif                
this.TB_NewPassword.Text);
ExpandedSubBlockEnd.gif        }

ExpandedBlockEnd.gif    }

None.gif

另所有的用户信息可以存储在SQL Server中或者Access中。要在SQL Server中存储这些信息可以使用<windir>\Microsoft.NET\Framework\<version>下的aspnet_regsql.exe工具来生成数据库。如下图

 

数据库生成完毕后需要在配置文件中做如下更改:

 

None.gif <? xml version="1.0" ?>
None.gif
< configuration >
None.gif
None.gif    
< connectionStrings >
None.gif          
< add  name ="LocalSqlServer"
None.gif              connectionString
="data source=127.0.0.1;Integrated Security=SSPI"   />
None.gif    
</ connectionStrings >
None.gif
None.gif    
< system .web >
None.gif        
< membership  defaultProvider ="AspNetSqlProvider"   />
None.gif        
< roleManager  enabled ="true"  defaultProvider ="AspNetSqlProvider"   />
None.gif    
</ system.web >
None.gif
</ configuration >
None.gif
None.gif

 

2.   角色管理服务

  与成员管理类似,角色管理也能通过ASP.NET Web Site Administration Tool进行。与成员管理不同的是角色管理只有一个类Roles。也就是说role只是作为一个字符串存在,并没有一个role类来记录它的成员信息。

它提供一系列静态方法用于角色操作。(同样,基本是见名知意)

  • AddUserToRole
  • CreateRole
  • DeleteRole
  • GetRolesForUser
  • GetUsersInRole
  • IsUserInRole
  • RemoveUserFromRole

  由于角色管理缺省是禁用的,所以要在配置文件中做如下更改:

 

None.gif < configuration >
None.gif  
< system .web >
None.gif    
< roleManager  enabled ="true"   />
None.gif  
</ system.web >
None.gif
</ configuration >
None.gif
另可以在cookie中缓存角色信息,要实现这一点只需要在配置文件中做如下更改:
None.gif < configuration >
None.gif  
< system .web >
None.gif    
< roleManager  enabled ="true"  cacheRolesInCookie ="true"   />
None.gif    
<!--  其他属性以及默认值:
None.gif      cookieName=".ASPXROLES"         // Cookie 名
None.gif      cookieTimeout="30"              // Cookie 生存期
None.gif      cookiePath="/"                  // Cookie 路径
None.gif      cookieRequireSSL="false"        // 限制 cookie 使用 SSL
None.gif      cookieSlidingExpiration="true"  // 重新申请满期的Cookie
None.gif      cookieProtection="All" />       // Cookie 保护级别
None.gif    
-->
None.gif  
</ system.web >
None.gif
</ configuration >
本文转自today4king博客园博客,原文链接:http://www.cnblogs.com/jinzhao/archive/2007/07/26/831912.html,如需转载请自行联系原作者
相关文章
|
1月前
|
开发框架 搜索推荐 .NET
ASP.NET体检中心源码,实现检前、检中、检后全流程管理
健康体检系统遵循整个健康体检的实际流程,以提高工作效率、降低错检、防止漏检提高人性化服务水平为目的,在体检过程中可以高效、自动化、人性化的处理数据与提供服务。针对体检流程中工作强度在时间分配上不均匀等特点,解决了体检信息处理效率问题,在不增加体检中心人力资源投入或少投入的基础上,提升信息处理的效率,从而突破体检中心日处理体检人数的上限,为体检中心创造更大经济效益的同时,还能有效的降低体检工作者的劳动强度。
36 5
|
4月前
|
存储 开发框架 .NET
【ASP.NET】医学实验室管理(LIS)系统源码
【ASP.NET】医学实验室管理(LIS)系统源码
73 0
|
6月前
|
开发框架 监控 .NET
ASP.NET Dotnet LIMS实验室综合管理和质量监控系统源码
系统功能包括检测管理(合同管理、样品管理、样品收发管理、工作任务分配、检测结果登记、复核及审核、留样管理等)、报告管理(报告编制、审核、签发、打印等)、原始记录管理、仪器设备管理、物质试剂管理、文件管理、组织人员管理、标准管理、客户供应商管理、财务管理、查询统计等诸多模块为一体,组成一套完整的实验室综合管理和质量监控体系。
|
9月前
|
开发框架 数据可视化 前端开发
ASP.NET Core MVC+Quartz实现定时任务可视化管理页面
ASP.NET Core MVC+Quartz实现定时任务可视化管理页面
333 0
|
10月前
|
开发框架 监控 前端开发
ASP.NET实验室信息化管理平台(LIMS)源码
实验室信息管理系统(LIMS)是实验室人(人员)、机(仪器)、料(样品、材料)、法(方法、标准、质量)、环(环境)全面资源管理的实验室信息化管理系统,是一套完整的检验综合管理和产品质量监控体系,在满足日常管理要求,保证检验分析数据的严格管理和控制。它能全面优化实验室的检验管理工作,显著提升实验室的工作效率和生产力,提高质量控制水平。
60 0
|
开发框架 前端开发 JavaScript
ASP.NET云LIS管理系统源码
基于.NET core3.1,包含前处理、检验、报告、质控、统计分析、两癌等模块 ,有源码,有演示,有文档。
100 0
ASP.NET云LIS管理系统源码
|
SQL 存储 开发框架
ASP.NET 用户和角色管理 附加代码详解
ASP.NET 用户和角色管理 附加代码详解
ASP.NET 用户和角色管理 附加代码详解
|
存储 开发框架 .NET
ASP.NET中HTTP请求(Request)、响应(Response)以及状态管理讲解
ASP.NET中HTTP请求(Request)、响应(Response)以及状态管理讲解
ASP.NET中HTTP请求(Request)、响应(Response)以及状态管理讲解
|
SQL 开发框架 前端开发
ASP.NET MVC多表示例题-酒店管理
ASP.NET MVC多表示例题-酒店管理
224 0
ASP.NET MVC多表示例题-酒店管理
|
存储 开发框架 安全
ASP.NET Core 3.0一个jwt的轻量角色/用户、单个API控制的授权认证库
ASP.NET Core 3.0一个jwt的轻量角色/用户、单个API控制的授权认证库
163 0
ASP.NET Core 3.0一个jwt的轻量角色/用户、单个API控制的授权认证库