ASP.NET成员资格和角色管理

一、成员资格管理

1.成员资格管理模型

ASP.NET提供的成员资格管理功能,其核心是利用内置的成员库表(SQL Server)、成员资格管理API(Membership、MembershipUser等)、成员资格提供程序(SqlMembershipProvider等),实现模块化和自动化的成员资格管理模式。

ASP.NET成员资格和角色管理_第1张图片

2.建立成员资格支持

2-1配置建立成员资格支持

找到Visual Studio 命令提示(2010)

ASP.NET成员资格和角色管理_第2张图片

配置成员资格支持

ASP.NET成员资格和角色管理_第3张图片ASP.NET成员资格和角色管理_第4张图片ASP.NET成员资格和角色管理_第5张图片ASP.NET成员资格和角色管理_第6张图片

完成之后成功的标志就是打开SQL Server,多了一个aspnetdb的数据库

ASP.NET成员资格和角色管理_第7张图片

到这里就可以使用ASP.NET 提供的自己的解决方案了。

ASP.NET成员资格和角色管理_第8张图片

这里面可以实现管理用户和管理角色。

ASP.NET成员资格和角色管理_第9张图片

当然也可以自己写,后面给出例子。点击打开链接

3.Membership类

Membership类用于验证用户凭据并管理用户设置,具有以下几个主要功能:

  • 创建和管理用户
  • 将成员资格信息存储在SQL Server或其他数据存储区中
  • 对访问站点的用户进行身份验证。可以以编程方式对用户进行身份验证,也可以使用登录控件创建一个只需很少代码或无需代码的完整身份验证系统
  • 管理密码,包括创建、更改、检索和重置密码等。可以选择配置成员资格管理功能,以要求一个密码提示问题及其答案来对忘记密码的用户的密码进行重置

 

Membership类的常用方法

属 性

描 述

ApplicationName

获取或设置应用程序的名称。

EnablePasswordReset

获得一个值,指示当前成员资格提供程序是否配置为允许用户重置其密码。

EnablePasswordRetrieval

获得一个值,指示当前成员资格提供程序是否配置为允许用户检索其密码。

MaxInvalidPasswordAttempts

获取锁定成员资格用户允许的无效密码或无效密码提示问题答案尝试次数。

MinRequiredNonAlphanumericCharacters

获取有效密码中必须包含的最少特殊字符数。

MinRequiredPasswordLength

获取密码所要求的最小长度。

PasswordAttemptWindow

获取在锁定成员资格用户之前允许的最大无效密码或无效密码提示问题答案尝试次数的分钟数。

PasswordStrengthRegularExpression

获取用于计算密码的正则表达式。

RequiresQuestionAndAnswer

获取一个值,该值指示默认成员资格提供程序是否要求用户在进行密码重置和检索时回答密码提示问题。

UserIsOnlineTimeWindow

指定用户在最近一次活动的日期/时间戳之后被视为联机的分钟数。

 

Membership类的常用方法

 

方 法

描 述

CreateUser

已重载。将新用户添加到数据存储区。

DeleteUser

已重载。从数据库中删除一个用户。

FindUsersByEmail

已重载。获取一个成员资格用户的集合,这些用户的电子邮件地址包含要匹配的指定电子邮件地址。

FindUsersByName

已重载。获取一个成员资格用户的集合,这些用户的用户名包含要匹配的指定用户名。

GeneratePassword

生成指定长度的随机密码。

GetAllUsers

已重载。获取数据库中用户的集合。

GetNumberOfUsersOnline

获取当前访问应用程序的用户数。

GetType 

获取当前实例的Type。(从Object 继承。)

GetUser

已重载。从数据源获取成员资格用户的信息。

GetUserNameByEmail

获取一个用户名,其中该用户的电子邮件地址与指定的电子邮件地址匹配。

ReferenceEquals

确定指定的Object 实例是否是相同的实例。(从Object 继承。)

UpdateUser

用指定用户的信息更新数据库。

ValidateUser

验证提供的用户名和密码是有效的。

 

二、成员角色管理

 

1.成员角色管理模型

 

ASP.NET提供的角色管理将整个控制过程分成两个步骤:

 

  • 访问权限与角色关联
  • 角色与用户关联

ASP.NET成员资格和角色管理_第10张图片

2.Roles类

2-2-1.Roles类常用属性

属 性

说 明

ApplicationName

获取或设置要存储和检索其角色信息的应用程序的名称。

CacheRolesInCookie

获取一个值,该值指示当前用户的角色是否已缓存在某个Cookie 中。

CookieName

获取在其中缓存角色名称的Cookie 的名称。

CookiePath

获取缓存角色名称的Cookie 的路径。

CookieProtectionValue

获取一个指示如何保护在Cookie中缓存的角色名称的值。

CookieSlidingExpiration

指示是否将要定期重置角色名称 Cookie 的到期日期和时间。

Enabled

获取或设置用来指示是否为当前Web 应用程序启用角色管理的值。

 

2-2-2.Roles类常用方法

 

方 法

说 明

AddUsersToRole

将指定的用户添加到指定的角色中。

CreateRole

将新的角色添加到数据源。

DeleteCookie

删除在其中缓存角色名称的 Cookie

DeleteRole

已重载。从数据源移除一个角色。

FindUsersInRole

获取属于指定角色的用户列表,其中用户名包含要匹配的指定用户名。

GetAllRoles

获取应用程序的所有角色列表。

GetRolesForUser

已重载。获取当前登录的用户所属的角色列表。

GetUsersInRole

获取一个用户所属角色的列表。

IsUserInRole

已重载。获取一个指示用户是否属于指定角色的值。

RemoveUserFromRole

从指定的角色中移除指定的用户。

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(.NET开发)