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

	    ASP.NET本身拥有membership角色权限系统,但是这个自带的系统不够灵活和强大,有时候操作起来比较繁琐,这里速优网络介绍一种如何根据控制器和方法自动判定权限,简单方便。
	
	    首先是定义一个类继承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]验证标记就行了。

以上就是速优网络和大家分享的"ASP.NET MVC3如何实现自定义权限系统判定和实现",非常感谢您有耐心的读完这篇文章,我们将为您提供更多参考使用或学习交流的信息。我们还可为您提供:企业网站建设、网站仿制、网站复制、仿站、外贸网站建设、外贸建站、公司官网制作等服务,本公司以“诚信、专业、务实、创新”的服务理念服务于客户。如您需要合作,请扫码咨询,我们将诚挚为您服务。
TAG标签:
 
														 
														 
														 
														 
														 
														 
														 
														 
														