我想限制用户访问控制器,具体取决于它在表中的访问级别。访问级别和角色代码。我怎么会这样做?我试过了
protected override void OnAuthorization(AuthorizationContext context)
{
if (context.HttpContext.User.Identity.IsAuthenticated)
{
string acceslevel = oSYSWUSER.acclvl_cd;
string role_cd = ROLE_CD.ToString();
string asd = oSYSMENU.action_nm;
}
}
如果访问级别等于用户的访问级别,我想首先检查记录的模型数据。我希望实现这一点,因为用户受我们在旧系统中的角色限制,我们在当前的.NET项目中安装
答案 0 :(得分:0)
您可以创建自己的属性类,就像我在项目中一样:
public class AutorizeCheckAttribute : AuthorizeAttribute
{
public AutorizeCheckAttribute()
{
}
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
// or other auth code here
return httpContext.User.Identity.IsAuthenticated;
}
}
然后你应该在你的控制器上使用这个属性:
[AutorizeCheck()]
public class DepartmentNamesController : Controller
{
// controller code here
}