成员管理
一、 Membership 类 : 创建和删除用户, 检索用户信 ,生成随机密码 , 登录验证
创建新用户:
try {
Membership.CreateUser ("name", "password", "mail");
}
catch (MembershipCreateUserException e)
{
// 失败
switch (e.StatusCode)
{
case MembershipCreateStatus.DuplicateUsername:
case MembershipCreateStatus.DuplicateEmail:
case MembershipCreateStatus.InvalidPassword:
default:
}
}
登录验证:
if (Membership.ValidateUser (UserName.Text, Password.Text))
FormsAuthentication.RedirectFromLoginPage (UserName.Text,
RememberMe.Checked);
方法:CreateUser(创建用户) DeleteUser(删除用户) GeneratePassword(生产随即密码) GetAllUsers(得到用户) GetUser(查看某个用户) UpdateUser(修改用户) ValidateUser(验证是否成功)
二、 MembershipUser类:
描述在成员数据存储中单一的注册用户信息
包含了众多的属性来获取和设置用户信息
包含方法来检索、改变和重设密码
通过诸如GetUser 和CreateUser的属性返回值
属性:Comment CreationDate Email LastLoginDate LastPasswordChangedDate UserId UserName
方法: ChangePassword ChangePassword-QuestionAndAnswer GetPassword ResetPassword
挂起登录权限:
if (Membership.ValidateUser (UserName.Text, Password.Text)) {
MembershipUser user = Membership.GetUser (UserName.Text);
user.Comment = "0"; //记录登录次数
RedirectFromLoginPage (UserName.Text, RememberMe.Checked);
}
else {
MembershipUser user = Membership.GetUser (UserName.Text);
if (user != null) {
string count = Convert.ToInt32 (user.Comment) + 1;
user.Comment = count.ToString ();
}
}
三 使用 SQL Server提供程序
<configuration>
<system.web>
<membership defaultProvider="AspNetSqlProvider" />
</system.web>
</configuration>
更改提供程序配置:
<membership>
<providers>
<remove name="AspNetSqlProvider" />
<add name="AspNetSqlProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web, "
connectionStringName="RemoteSqlServer"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
applicationName="/"
requiresUniqueEmail="false"
passwordFormat="Hashed"
description="Stores and retrieves membership data "
/>
</providers>
</membership>
配置提供程序
成员提供程序支持许多配置选项,密码如何被存储 (明文, 散列, 加密)?密码是否允许被恢复?用户是否必须有一个唯一的e-mail地址?通过提供程序类属性来表现,在配置文件中进行初始化
四、角色管理
方法:AddUserToRole CreateRole DeleteRole GetRolesForUser(查看用户角色) GetUsersInRole IsUserInRole RemoveUserFromRole
创建新角色
if (!Roles.RoleExists ("Developers")) {
Roles.CreateRole ("Developers");
}
增加用户到一个角色
string name = Membership.GetUser ().Username;
Roles.AddUserToRole (name, "Developers");
配置Web.config启用角色
<configuration>
<system.web>
<roleManager enabled="true" />
</system.web>
</configuration>
启用角色高速缓存
<configuration>
<system.web>
<roleManager enabled="true" cacheRolesInCookie="true" />
<!-- Other roleManager attributes (and their defaults) include:
cookieName=".ASPXROLES" // Cookie name
cookieTimeout="30" // Cookie lifetime
cookiePath="/" // Cookie path
cookieRequireSSL="false" // Restrict cookie to SSL?
cookieSlidingExpiration="true" // Renew expiring cookies?
createPersistentCookie="false" // Issue persistent cookie?
cookieProtection="All" /> // Cookie protection level
-->
</system.web>
</configuration>
使用SQL Server提供程序
<configuration>
<system.web>
<roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider" />
</system.web>
</configuration>
错误提示:
密码最短长度为 7,其中必须包含以下非字母数字字符: 1
解决方案:
收到以上的消息主要是在创建用户的时候产生的,对于用Asp.net 网站管理工具的时候创建用户也会产生。
主要是密码输入不符合要求,要改变上面的规定时,主要有两种方法:
1.所有的站点都改变。
找到machine.config文件
<membership>
<providers>
<add name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="LocalSqlServer"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
applicationName="/"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="7"
minRequiredNonalphanumericCharacters="1"
passwordAttemptWindow="10"
passwordStrengthRegularExpression="" />
</providers>
</membership>
里面有两个属性,一个是 minRequiredPasswordLength,意思是最长密码,默认为7另一个是minRequiredNonalphanumericCharacters,默认为1,意思是至少有一个非字母字符,只要把它改成0就可以了。
2.假如只是对某一个站点,只要修改web.config的值就ok了
修改如上,把上面的代码插入在<system.web>下面就ok了。
如要改成密码规则是"至少6个字符,而不用特殊字符的",如下:
(注:一定要加上 <remove name="AspNetSqlMembershipProvider" />,否则会提示"项“AspNetSqlMembershipProvider”已添加"的出错信息)
<membership>
<providers>
<remove name="AspNetSqlMembershipProvider" />
<add name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="LocalSqlServer"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
applicationName="/"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
passwordStrengthRegularExpression="" />
</providers>
</membership>
分享到:
相关推荐
ASP.NET 2.0中的`Roles`类提供了管理角色和角色成员的方法,如添加用户到角色、移除用户、检查用户是否属于某个角色等。这种机制使得权限控制更为灵活,可以方便地根据业务需求调整用户权限。 在ASP.NET 2.0中,...
ASP.NET 2.0中的角色和成员管理是Web应用程序开发中关键的安全和身份验证机制。这个框架允许开发者轻松地管理用户账户,包括创建、验证和管理用户的登录信息。以下是对这些概念的详细说明: 一、Membership类 ...
在ASP.NET开发中,成员资格(Membership)和角色(Role)管理是用于处理Web应用中用户身份验证和权限控制的关键组件。这两个概念是构建安全、可扩展的Web应用程序的基础。 1. **Web用户与权限管理概述** - **身份...
### ASP .NET 2.0安全成员和角色管理编程指南 #### 一、概述 《ASP .NET 2.0安全成员和角色管理编程指南》是一本深入介绍ASP .NET 2.0环境下如何实现安全的成员管理和角色管理的专业书籍。本书由Stefan Schackow...
ASP.NET 2.0的成员管理支持基于角色的访问控制(Role-Based Access Control, RBAC),允许开发人员将用户分配到不同的角色中,每个角色拥有特定的权限集。这样,可以根据角色而不是单个用户来管理访问权限,简化了...
ASP.NET通用权限管理系统源代码(含文档、数据库) 1.菜单导航管理 2.操作按钮 3.角色管理 4.部门管理 5.用户管理(用户权限) 6.用户组管理(设置成员,用户组权限) 7.系统配置(动态配置系统参数) 8.附加属性...
ASP.NET的角色和成员资格提供了一种管理用户角色和权限的方法,可以将用户分配到不同的角色,并根据角色设定不同的访问权限。例如,管理员可能有删除帖子的权限,而普通用户则没有。 除此之外,系统的界面设计和...
ASP.NET 最实用的成员资格是Web应用程序开发中的一个重要概念,主要涉及到用户认证、授权和管理。在构建一个用户中心的系统时,成员资格系统扮演着关键角色,它允许开发人员安全地管理用户账户,实现登录、注册、...
4. **角色管理**:除了成员资格,ASP.NET 2.0还提供了角色管理(Role Provider),用于分组用户并分配特定权限。RoleManager控件可以帮助创建、删除角色,而AuthorizeAttribute可以用来限制只有某些角色的用户才能...
"ASP.NET2.0角色及用户管理源代码1"可能是包含实现这些功能的示例代码,包括数据库设计、后台逻辑和前端交互。通过分析和研究这些源代码,你可以深入理解如何在实际项目中应用角色和用户管理,包括数据库连接、数据...
**Asp.net 2.0 成员与角色管理** Asp.net 2.0 是微软推出的Web应用程序开发框架,它引入了诸多改进和新特性,其中成员管理和角色管理是两个核心的安全与授权功能,用于控制用户对网站资源的访问权限。 ### 成员...
在ASP.NET中,可以使用角色(Role)和成员资格(Membership)框架来管理用户账户,实现用户注册、登录、权限分配等功能。此外,通过配置IIS(Internet Information Services)或使用Web.config文件,可以设置应用...
6. **会员和角色管理(Membership and Role Management)**:预置的成员资格和角色管理框架,帮助开发者轻松实现用户注册、登录、权限控制等功能。 7. **状态管理(State Management)**:包括视图状态(View State)、...
【描述】该系统利用ASP.NET的Web应用程序框架,能够构建出用户友好的界面,方便部门成员提交、查看和管理项目周报。VS2005作为强大的开发环境,提供了丰富的工具和功能,支持C#或VB.NET等编程语言,使得开发者可以...