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.错误提示方法:


运行结果


二,角色管理





编程添加角色