成员资格管理

成员资格管理

成员资格简介

ASP.NET成员资格支持下列功能:

  • 创建新用户和密码
  • 将成员资格信息(用户名、密码和支持数据)存储在Microsoft SQL Server、Active Directory或其他数据存储区
  • 对访问站点的用户进行身份验证
  • 管理密码,包括创建、更改和重置密码
  • 公开经过身份验证的用户的唯一标识,您可以在您自己的应用程序中使用该标识,也可以将该标识与ASP.NET个性化设置和角色管理(授权)系统集成
  • 指定自定义成员资格提供程序,这使您可以改为用自己的代码管理成员资格及在自定义数据存储区中维护成员资格数据

成员资格管理模型

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

成员资格管理_第1张图片

Membership类

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

        (1)创建和管理用户

        (2)将成员资格信息存储在SQL Server或其他数据存储区中

        (3)对访问站点的用户进行身份验证。可以以编程方式对用户进行身份验证,也可以使用登录控件创建一个只需很少代码或无需代码的完整身份验证系统

        (4)管理密码,包括创建、更改、检索和重置密码等。可以选择配置成员资格管理功能,以要求一个密码提示问题及其答案来对忘记密码的用户密码进行重置

 Membership类常用属性

成员资格管理_第2张图片

 Membership类常用方法

成员资格管理_第3张图片

 配置成员资格支持


    
  
  

    
      
        
        
        
      
    

 使用成员资格支持

        (1)第一步

成员资格管理_第4张图片

     (2)第二步       

成员资格管理_第5张图片

    (3)第三步

成员资格管理_第6张图片

       (4)第四步

成员资格管理_第7张图片

    (5)第五步

成员资格管理_第8张图片

    (6)第六步

成员资格管理_第9张图片

    (7)第七步

成员资格管理_第10张图片

成员资格管理实例

    登录页面


    
帐号:
密码:

成员资格管理_第11张图片

 public partial class Login : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            lblNum.Text = "温馨提示:您还有" + Membership.MaxInvalidPasswordAttempts.ToString() + "次登录机会";
        }

        protected void btnLogin_Click(object sender, EventArgs e)
        {
            string name = txtLoginName.Text;
            string pwd = txtLoginPwd.Text;
            //使用Membership验证帐号密码
            if (Membership.ValidateUser(name, pwd))
            {
                if (Request.QueryString["ReturnUrl"] != null)
                {
                    //跳转到最初访问的页面
                    FormsAuthentication.RedirectFromLoginPage(name, false);
                }
                else
                {
                    FormsAuthentication.SetAuthCookie(name, false);
                    Response.Redirect("Main.aspx");
                }
            }
            else
            {
                ClientScript.RegisterStartupScript(GetType(), "login", "alert('帐号或密码错误')", true);
            }
        }

        protected void btnAddUser_Click(object sender, EventArgs e)
        {
            Response.Redirect("AddUser.aspx");
        }
    }

    注册页面


    
注册新用户
用户名:
密码:
确认密码:
电子邮件:
密码确认提示:
答案:
      

成员资格管理_第12张图片

 protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void BtnReg_Click(object sender, EventArgs e)
        {
            //得到创建用户的信息
            string name = this.txtName.Text;
            string pwd = this.txtPwd1.Text;
            string email = this.txtEmail.Text;
            string Msg = this.txtMsg.Text;
            string answer = this.txtAnswer.Text;
            bool active = this.chkActive.Checked;

            //创建用户登录状态
            MembershipCreateStatus status;
            //用户登录
            MembershipUser user = Membership.CreateUser(name, pwd, email, Msg, answer, active, out status);
            //查看当前用户登录的状态
            switch (status)
            {
                case MembershipCreateStatus.InvalidEmail:
                    this.lblMsg.Text = "电子邮件不合法!";
                    break;
                case MembershipCreateStatus.InvalidPassword:
                    this.lblMsg.Text = "密码格式不正确";
                    break;
                case MembershipCreateStatus.Success:
                    this.lblMsg.Text = "创建用户成功";
                    break;
                default:
                    this.lblMsg.Text = "发生了未知的错误!";
                    break;
            }
        }

你可能感兴趣的:(ASP.NET,网站开发)