加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

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

发布时间:2021-07-20 19:33:43 所属栏目:编程 来源:互联网
导读:Forms身份验证用来判断是否合法用户,当用户合法后,再通过用户的角色决定能访问的页面。


        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页面。
    注意:测试时注意及时点击安全退出按钮,否则影响测试结果。

(编辑:核心网)

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

热点阅读