根据模式中的记录限制基本控制器的操作结果

时间:2014-05-29 08:41:58

标签: asp.net-mvc asp.net-mvc-4

我想限制用户访问控制器,具体取决于它在表中的访问级别。访问级别和角色代码。我怎么会这样做?我试过了

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项目中安装

1 个答案:

答案 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
}