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

2023-03-12    分类: 网站建设

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.NETMVC3如何实现自定义权限系统判定和实现
转载来于:https://www.cdcxhl.com/news/243624.html

成都网站建设公司_创新互联,为您提供网站排名用户体验微信小程序小程序开发手机网站建设响应式网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网站建设公司