Asp.Net 成员资格与角色管理
一,成员资格
Asp.Net成员资格支持下列功能:
1.创建新用户和密码
2.将成员信息(用户名,密码和支持数据)存储在Microsoft SQLServer、Active、Driectory或其他数据存储区。
3.对站点的用户进行身份验证
4.管理密码,包括创建、更改和重置密码
之前我们一直自己创建成员库表,自己创建逻辑代码管理,身份验证,资格管理,角色管理,现在Asp.Net提出了自己的解决方案。使用一句命令创建数据库(aspnet_regsql)
步骤如图:开始>程序>Microsoft Visual Studio 2010>Visual Studio Tools>Visual Studio 命令提示(2010)
Membership类
用于验证用户凭据并管理用户设置,功能如下:
1.创建和管理用户
2.将成员信息存储在SQL Server或其他数据存储区中。
3.对访问站点的用户进行身份验证。
4.管理密码,包括创建,更改,检索和充值密码,也可以配置成员资格管理功能,以要求一个密码提示问题及答案对忘记密码的用户的密码进行重置。
Membership常用属性和方法:
属性:
方法:
建立成员资格支持
1.新建数据库(可用命令提示符aspnet_regsql)
2.创建Asp.Net网站配置Web文件
在前台添加数据源进行配置。自动生成coonectionString之后可删除前台数据源.
为用户设置权限
3.项目>Asp.Net配置
4.选择“安全”选项卡 并单机“使用安全设置向导按部就班配置安全性”。
5.单机“下一步”跳转到“选择访问方法”页面
6.选择“通过Interent”单击“下一步”若选择“通过局域网”则直接跳过添加用户步骤。
7.单机下一步
8.定义角色 (可选)点击“下一步”
9. 注册新用户 单机“完成”
密码必须是数字,字母组合不可超过7为数
邮箱没有设置邮箱格式可任意写 否则则会报错。
可返回“安全”选项卡页面查询用户创建成功。
编程实现成员资格管理
【案例】
创建前台:
后台代码:
1.按钮点击事件
MembershipCreateStatus stat;
string pwdQ = "";//保密问题
string pwdA = "";//保密答案
//如果保密问题和答案存在则获取
if (Membership.RequiresQuestionAndAnswer){
pwdQ = PasswordTextbox.Text;
pwdA = PasswordAnswerTextbox.Text;
}
try
{
//创建后的新用户
MembershipUser USER = Membership.CreateUser(UsernameTextbox.Text, PasswordTextbox.Text, EmailTextbox.Text, pwdA, pwdQ, true, out stat);
//如果创建的新用户为空则
if (USER == null){
Msg.Text = GetErrorMessage(stat);
}
else
{
Response.Write("添加成功");
}
}
catch (Exception){
throw;
}2.错误提示方法:
运行结果
二,角色管理
编程添加角色