首页 > Web开发 > 详细

MVC权限认证

时间:2015-12-30 17:15:47      阅读:195      评论:0      收藏:0      [点我收藏+]

1.权限就是一个登陆的权限,我们可以重写AuthorizeAttribute达到自定义的权限管理,重写AuthorizeAttribute里面的OnAuthorization方法。

 
技术分享
 public override void OnAuthorization(AuthorizationContext filterContext)
        {
            base.OnAuthorization(filterContext);
            if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
            {
                filterContext.HttpContext.Response.Redirect("~/Account/Login?returnUrl=" + filterContext.HttpContext.Request.RawUrl);
                return;
            }
            var userName = filterContext.HttpContext.User.Identity.Name.Split(|)[0];
            if (string.IsNullOrEmpty(userName)) return;
            权限实体 open = 获取用户权限(userName);
            if (是否存在权限)
            {
                //权限不存在
                filterContext.HttpContext.Response.Redirect("~/Account/NoAuthority");
            }
        }
View Code

 

2.在登陆页面只要保存一下登陆的Cook值就OK了


FormsAuthentication.SetAuthCookie(userInfo.UserId.ToString() + "|" + userInfo.UserName.ToString(), false);
var returnUrl = Request["returnUrl"];
return Redirect(!string.IsNullOrEmpty(returnUrl) ? returnUrl : "~/");

3.只要在每个acction上面添加重写的AuthorizeAttribute就可以了。

MVC权限认证

原文:http://www.cnblogs.com/tjha/p/5089194.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!