MVC 中方法视图或者方法判断是否登录

项目的角色权限,的判断用户是否有对应页面的访问权限  如果没有登录或者绕开角色权限直接使用url访问 那么不能让其访问

(1)自定义AuthorizeAttribute

   public class CustomAuthorizeAttribute : AuthorizeAttribute
    {
        public string Url { get; set; }//通过url 匹配后台的角色 是否有对应的方法方法权限 赞不处理
        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {

//判断是否登录

 if (string.IsNullOrEmpty(httpContext.User.Identity.Name))
            {
                return false;
            }
         
return GetRoles();

        }
        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            base.OnAuthorization(filterContext);
            if (filterContext.HttpContext.Response.StatusCode == 403)
            {
                filterContext.Result = new RedirectResult("/Home/Index");
            }
        }

       public bool GetRoles(){

  //判断是否url 有角色权限  后台判断代码不贴出 

 //-----------

         return  true; //测试暂时返回true
}

    }

(2)使用时  需要在FilterConfig中注册该filter

          filters.Add(new CustomAuthorizeAttribute ());


(3)mvc 视图中使用

        [Authorize]
        [CustomAuthorizeAttribute (Url = "/Home/Index")]//判断对应的url 是否有对应的权限
        public ActionResult Index()
        {
            return View();
               
        }


阅读更多
文章标签: mvc
个人分类: MVC C#
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

MVC 中方法视图或者方法判断是否登录

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭