菲律宾j9集团|Home

135-2716-3909
网站建设资讯详细

ASP.NET MVC3如何实现□□□自定义权□□□□限系统判□□□□定和实现

发表日期:2026-03-18 00:00:00   作者来源:菲律宾j9集团   浏览:6990   标签:ASP.NET    MVC3    

    ASP.NET本身拥有membership角色权限♦系统,但是这个◢自带的系□□统不够灵□□□□活和强大,有时候操□□□□作起来比❖较繁琐,这里菲律宾j9集团介绍□□一种如何●根据控制□□□□器和方法□□自动判定□□□权限,简单方便。

    首先是定□□义一个类□□继承ActionFilterAttribute类,然后重新□□□方法OnActionExecuting  编写如下□□□□代码

    public override void OnActionExecuting(ActionExecutingContext filterContext)

        {
            if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
            {
                //没有登录执行的操作
            }
            else
            {
   
                //判断是否存在角色
                FormsIdentity user = (FormsIdentity)HttpContext.Current.User.Identity;
 
                var au = db.AdminUser.Where(a => a.username == user.Name).ToList();
                if (au.Count > 0)
                {
                    // string purview= au[0].group.purview;
                    bool is_authorize = true;
                    string error_msg = "没有权限访问!";
                    string model = filterContext.RouteData.Values["controller"].ToString();
                    string action = filterContext.RouteData.Values["action"].ToString();
 
                    BLLAdminUser admin_user = new BLLAdminUser();
                    string purview=admin_user.getCheckPurview(model, action);//判断权限
                    string mypurview = admin_user.getMyPurview();
                    is_authorize=admin_user.inPurview(purview, mypurview);
                    if (!is_authorize)
                    {
                         //如果验证不通过执行的方法
                    }
 
                }
 
            }
          
        }


    然后在控□□□制器或方□□□法前面加□□□上[Authorize]验证标记□□□就行了。

如没特殊注明,文章均为菲律宾j9集团原创,转载请注明来自https://www.tyjwx.com/news/1993.html