加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

asp.net Forms身份验证和基于角色的权限访问

发布时间:2021-07-20 19:53:21 所属栏目:Asp教程 来源:互联网
导读:副标题#e# 主要思想:Forms身份验证用来判断是否合法用户,当用户合法后,再通过用户的角色决定能访问的页面。 具体步骤: 1、创建一个网站,结构如下: 网站根目录 Admin目录----管理员目录 Manager.aspx----管理员可以访问的页面 Users目录----注册用户目


        protected void Page_Load(object sender, EventArgs e)
        {
            //判断通过身份验证的用户是否有权限访问本页面
            FormsIdentity id = (FormsIdentity)HttpContext.Current.User.Identity;
            //判断通过身份验证的用户是否是User角色
            if (!id.Ticket.UserData.Contains("User"))
            {
                //跳转到访问权限不够的错误提示页面
                Response.Redirect("~/Error/AccessError.htm", true);
            }
        }
        //安全退出按钮的代码
        protected void btnExit_Click(object sender, EventArgs e)
        {
            //注销票据
            FormsAuthentication.SignOut();
            ClientScriptManager csm = this.Page.ClientScript;
            csm.RegisterStartupScript(this.GetType(), "exit_tip", "alert('您已经安全退出了!');", true);
        }


测试结果:
    数据:
        假设有3个用户,如下:
        ------------------------------------------
        用户名        密码        角色字符串
        ------------------------------------------
        sa        sa        Admin,User
        admin        admin        Admin
        user        user        User
        ------------------------------------------
    测试:
        如果使用admin登录,只能访问Admin目录的Manager.aspx页面;
        如果使用user登录,只能访问Users目录的Welcome.aspx页面;
        使用sa登录,既能访问Admin目录的Manager.aspx页面,又能访问Users目录的Welcome.aspx页面。
    注意:测试时注意及时点击安全退出按钮,否则影响测试结果。

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读