ASP.NET 2.0角色及成员管理

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介:

 成员管理
一、 Membership 类   :   创建和删除用户, 检索用户信  ,生成随机密码 , 登录验证 
          创建新用户:

ExpandedBlockStart.gif try    {
InBlock.gif         Membership.CreateUser (
"name""password""mail");
ExpandedBlockEnd.gif       }

None.gif  
catch  (MembershipCreateUserException e) 
ExpandedBlockStart.gif       
{
InBlock.gif       
// 失败
InBlock.gif
       switch (e.StatusCode)
ExpandedSubBlockStart.gif          
{
InBlock.gif       
case MembershipCreateStatus.DuplicateUsername:
InBlock.gif       dot.gif
InBlock.gif       
case MembershipCreateStatus.DuplicateEmail:
InBlock.gif       dot.gif
InBlock.gif       
case MembershipCreateStatus.InvalidPassword:
InBlock.gif       dot.gif
InBlock.gif       
default:
InBlock.gif       dot.gif
ExpandedSubBlockEnd.gif          }

ExpandedBlockEnd.gif       }
       登录验证:
None.gif   if  (Membership.ValidateUser (UserName.Text, Password.Text))
None.gif     FormsAuthentication.RedirectFromLoginPage (UserName.Text,
None.gif       RememberMe.Checked);
         方法 :CreateUser(创建用户)  DeleteUser(删除用户)  GeneratePassword(生产随即密码)  GetAllUsers(得到用户)  GetUser(查看某个用户) UpdateUser(修改用户)  ValidateUser(验证是否成功)
二、 MembershipUser类:
     描述在成员数据存储中单一的注册用户信息
     包含了众多的属性来获取和设置用户信息
     包含方法来检索、改变和重设密码
     通过诸如GetUser 和CreateUser的属性返回值
     属性:Comment  CreationDate  Email  LastLoginDate  LastPasswordChangedDate  UserId  UserName
     方法:  ChangePassword  ChangePassword-QuestionAndAnswer   GetPassword   ResetPassword
      挂起登录权限:
ExpandedBlockStart.gif   if  (Membership.ValidateUser (UserName.Text, Password.Text))  {
InBlock.gif    MembershipUser user 
= Membership.GetUser (UserName.Text);
InBlock.gif    user.Comment 
= "0"//记录登录次数
InBlock.gif
    RedirectFromLoginPage (UserName.Text, RememberMe.Checked);
ExpandedBlockEnd.gif    }

ExpandedBlockStart.gif    
else   {
InBlock.gif    MembershipUser user 
= Membership.GetUser (UserName.Text);
ExpandedSubBlockStart.gif    
if (user != null{
InBlock.gif        
string count = Convert.ToInt32 (user.Comment) + 1;
InBlock.gif         user.Comment 
= count.ToString ();
ExpandedSubBlockEnd.gif    }

ExpandedBlockEnd.gif}
三  使用 SQL Server提供程序
None.gif   < configuration >
None.gif  
< system .web >
None.gif    
< membership  defaultProvider ="AspNetSqlProvider"   />
None.gif  
</ system.web >
None.gif
</ configuration >
   更改提供程序配置:
None.gif    < membership >
None.gif  
< providers >
None.gif    
< remove  name ="AspNetSqlProvider"   />
None.gif    
< add  name ="AspNetSqlProvider"
None.gif      type
="System.Web.Security.SqlMembershipProvider, System.Web, dot.gif"
None.gif      connectionStringName
="RemoteSqlServer"
None.gif      enablePasswordRetrieval
="false"
None.gif      enablePasswordReset
="true"
None.gif      requiresQuestionAndAnswer
="false"
None.gif      applicationName
="/"
None.gif      requiresUniqueEmail
="false"
None.gif      passwordFormat
="Hashed"
None.gif      description
="Stores and retrieves membership data dot.gif"
None.gif    
/>
None.gif  
</ providers >
None.gif
</ membership >
配置提供程序
成员提供程序支持许多配置选项,密码如何被存储 (明文, 散列, 加密)?密码是否允许被恢复?用户是否必须有一个唯一的e-mail地址?通过提供程序类属性来表现,在配置文件中进行初始化
四、角色管理
     方法:AddUserToRole  CreateRole  DeleteRole   GetRolesForUser(查看用户角色)   GetUsersInRole   IsUserInRole  RemoveUserFromRole
    创建新角色
ExpandedBlockStart.gif if  ( ! Roles.RoleExists ( " Developers " ))  {
InBlock.gif    Roles.CreateRole (
"Developers");
ExpandedBlockEnd.gif}
    增加用户到一个角色
None.gif string  name  =  Membership.GetUser ().Username;
None.gifRoles.AddUserToRole (name, 
" Developers " );
     配置Web.config启用角色
None.gif < configuration >
None.gif  
< system .web >
None.gif    
< roleManager  enabled ="true"   />
None.gif  
</ system.web >
None.gif
</ configuration >
    启用角色高速缓存
None.gif < configuration >
None.gif  
< system .web >
None.gif    
< roleManager  enabled ="true"  cacheRolesInCookie ="true"   />
None.gif    
<!--  Other roleManager attributes (and their defaults) include:
None.gif      cookieName=".ASPXROLES"         // Cookie name
None.gif      cookieTimeout="30"              // Cookie lifetime
None.gif      cookiePath="/"                  // Cookie path
None.gif      cookieRequireSSL="false"        // Restrict cookie to SSL?
None.gif      cookieSlidingExpiration="true"  // Renew expiring cookies?
None.gif      createPersistentCookie="false"  // Issue persistent cookie?
None.gif      cookieProtection="All" />       // Cookie protection level
None.gif    
-->
None.gif  
</ system.web >
None.gif
</ configuration >
   使用SQL Server提供程序
None.gif < configuration >
None.gif  
< system .web >
None.gif    
< roleManager  enabled ="true"  defaultProvider ="AspNetSqlRoleProvider"   />
None.gif  
</ system.web >
None.gif
</ configuration >

None.gif 错误提示:
None.gif密码最短长度为 7,其中必须包含以下非字母数字字符: 1
None.gif
None.gif解决方案:
None.gif收到以上的消息主要是在创建用户的时候产生的,对于用Asp.net 网站管理工具的时候创建用户也会产生。
None.gif主要是密码输入不符合要求,要改变上面的规定时,主要有两种方法:
None.gif1.所有的站点都改变。
None.gif     找到machine.config文件
None.gif
None.gif
< membership >
None.gif            
< providers >
None.gif                
< add  name ="AspNetSqlMembershipProvider"
None.gif                    type
="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
None.gif                    connectionStringName
="LocalSqlServer"
None.gif                    enablePasswordRetrieval
="false"
None.gif                    enablePasswordReset
="true"
None.gif                    requiresQuestionAndAnswer
="true"
None.gif                    applicationName
="/"
None.gif                    requiresUniqueEmail
="false"
None.gif                    passwordFormat
="Hashed"
None.gif                    maxInvalidPasswordAttempts
="5"
None.gif                    minRequiredPasswordLength
="7"
None.gif                    minRequiredNonalphanumericCharacters
="1"
None.gif                    passwordAttemptWindow
="10"
None.gif                    passwordStrengthRegularExpression
=""   />
None.gif            
</ providers >
None.gif        
</ membership >
None.gif里面有两个属性,一个是  minRequiredPasswordLength,意思是最长密码,默认为7另一个是minRequiredNonalphanumericCharacters,默认为1,意思是至少有一个非字母字符,只要把它改成0就可以了。
None.gif
None.gif2.假如只是对某一个站点,只要修改web.config的值就ok了
None.gif修改如上,把上面的代码插入在
< system .web > 下面就ok了。
None.gif
None.gif如要改成密码规则是"至少6个字符,而不用特殊字符的",如下:
None.gif(注:一定要加上 
< remove  name ="AspNetSqlMembershipProvider"   /> ,否则会提示"项“AspNetSqlMembershipProvider”已添加"的出错信息)
None.gif
None.gif            
< membership >
None.gif            
< providers >
None.gif                    
< remove  name ="AspNetSqlMembershipProvider"   />
None.gif                
< add  name ="AspNetSqlMembershipProvider"
None.gif                    type
="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
None.gif                    connectionStringName
="LocalSqlServer"
None.gif                    enablePasswordRetrieval
="false"
None.gif                    enablePasswordReset
="true"
None.gif                    requiresQuestionAndAnswer
="true"
None.gif                    applicationName
="/"
None.gif                    requiresUniqueEmail
="false"
None.gif                    passwordFormat
="Hashed"
None.gif                    maxInvalidPasswordAttempts
="5"
None.gif                    minRequiredPasswordLength
="6"
None.gif                    minRequiredNonalphanumericCharacters
="0"
None.gif                    passwordAttemptWindow
="10"
None.gif                    passwordStrengthRegularExpression
=""   />
None.gif            
</ providers >
None.gif        
</ membership >
None.gif
None.gif



本文转自高海东博客园博客,原文链接:http://www.cnblogs.com/ghd258/archive/2005/10/09/250802.html,如需转载请自行联系原作者
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS&nbsp;SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/sqlserver
相关文章
|
2天前
|
开发框架 搜索推荐 .NET
ASP.NET体检中心源码,实现检前、检中、检后全流程管理
健康体检系统遵循整个健康体检的实际流程,以提高工作效率、降低错检、防止漏检提高人性化服务水平为目的,在体检过程中可以高效、自动化、人性化的处理数据与提供服务。针对体检流程中工作强度在时间分配上不均匀等特点,解决了体检信息处理效率问题,在不增加体检中心人力资源投入或少投入的基础上,提升信息处理的效率,从而突破体检中心日处理体检人数的上限,为体检中心创造更大经济效益的同时,还能有效的降低体检工作者的劳动强度。
41 5
|
2天前
|
Windows
windows server 2019 安装NET Framework 3.5失败,提示:“安装一个或多个角色、角色服务或功能失败” 解决方案
windows server 2019 安装NET Framework 3.5失败,提示:“安装一个或多个角色、角色服务或功能失败” 解决方案
260 0
|
2天前
|
存储 开发框架 .NET
【ASP.NET】医学实验室管理(LIS)系统源码
【ASP.NET】医学实验室管理(LIS)系统源码
76 0
|
7月前
|
开发框架 监控 .NET
ASP.NET Dotnet LIMS实验室综合管理和质量监控系统源码
系统功能包括检测管理(合同管理、样品管理、样品收发管理、工作任务分配、检测结果登记、复核及审核、留样管理等)、报告管理(报告编制、审核、签发、打印等)、原始记录管理、仪器设备管理、物质试剂管理、文件管理、组织人员管理、标准管理、客户供应商管理、财务管理、查询统计等诸多模块为一体,组成一套完整的实验室综合管理和质量监控体系。
|
10月前
|
开发框架 数据可视化 前端开发
ASP.NET Core MVC+Quartz实现定时任务可视化管理页面
ASP.NET Core MVC+Quartz实现定时任务可视化管理页面
361 0
|
11月前
|
开发框架 监控 前端开发
ASP.NET实验室信息化管理平台(LIMS)源码
实验室信息管理系统(LIMS)是实验室人(人员)、机(仪器)、料(样品、材料)、法(方法、标准、质量)、环(环境)全面资源管理的实验室信息化管理系统,是一套完整的检验综合管理和产品质量监控体系,在满足日常管理要求,保证检验分析数据的严格管理和控制。它能全面优化实验室的检验管理工作,显著提升实验室的工作效率和生产力,提高质量控制水平。
61 0
|
开发框架 前端开发 JavaScript
ASP.NET云LIS管理系统源码
基于.NET core3.1,包含前处理、检验、报告、质控、统计分析、两癌等模块 ,有源码,有演示,有文档。
102 0
ASP.NET云LIS管理系统源码
|
存储 开发框架 .NET
使用.NET从零实现基于用户角色的访问权限控制
本文将介绍如何实现一个基于.NET RBAC 权限管理系统,如果您不想了解原理,可查看推送的另一篇文章关于[Sang.AspNetCore.RoleBasedAuthorization](https://www.nuget.org/packages/Sang.AspNetCore.RoleBasedAuthorization) 库是使用介绍,直接使用该库即可。
255 0
使用.NET从零实现基于用户角色的访问权限控制
|
SQL 存储 开发框架
ASP.NET 用户和角色管理 附加代码详解
ASP.NET 用户和角色管理 附加代码详解
ASP.NET 用户和角色管理 附加代码详解
|
存储 开发框架 .NET
ASP.NET中HTTP请求(Request)、响应(Response)以及状态管理讲解
ASP.NET中HTTP请求(Request)、响应(Response)以及状态管理讲解
ASP.NET中HTTP请求(Request)、响应(Response)以及状态管理讲解

热门文章

最新文章