首先是定义一个类继承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]验证标记就行了。
网站建设,企业站SEO诊断的亚健康表现外贸网站建设快速获取友情链接有哪些方法为什么站长平台提交备案显示您的网站暂未备案改进边缘计算进行数据处理的优秀实践惠州SEO外链优化有哪几种形式?江苏网站设计需要多少钱?企业独立网站与b2b网站的区别网站收录持续下降,找出原因是关键