码迷,mamicode.com
首页 > Web开发 > 详细

MVC权限认证

时间:2015-12-30 17:19:01      阅读:185      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!