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

2019-05-11 20:42:17王振洲

             }
             //把准备好的cookie加入到响应流中
             Response.Cookies.Add(cookie);

             //转发到请求的页面
             Response.Redirect(FormsAuthentication.GetRedirectUrl(um.Name,false));
            }
            else
            {
             ClientScriptManager csm = this.Page.ClientScript;
             csm.RegisterStartupScript(this.GetType(), "error_tip", "alert('用户名或密码错误!身份验证失败!');", true);
            }
        }    
        //验证用户
        private UserModel ValidUser(string name, string password)
        {
            return new UserService().Validate(name, password);
        }

    4、给网站添加处理程序Global.asax,其中通用身份验证代码如下:

        //改造原来的User,给其添加一个用户所属的角色数据
        protected void Application_AuthenticateRequest(object sender, EventArgs e)
        {
            if (HttpContext.Current.User != null )
            {
                if (HttpContext.Current.User.Identity.IsAuthenticated)
                {
                    if (HttpContext.Current.User.Identity is FormsIdentity)
                    {
                        FormsIdentity id = (FormsIdentity)HttpContext.Current.User.Identity;