自定义身份验证以及集成Windows身份验证

时间:2016-04-04 09:41:08

标签: c# asp.net-mvc-4 authorize-attribute

我在我的应用程序中使用Integrated Windows Authentication,因此仅域用户就可以访问该应用程序。

在此步骤之后,我正在进行一些额外的身份验证,以检查是否允许该域用户访问该应用程序(域用户将被添加到数据库表中)。

为实现这一目标,我正在以下列方式进行。这是最好的做法吗?请指教。

public class CCUKAuthorizeAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
    {
        var isAuthorized =  base.AuthorizeCore(httpContext);

        var isUserAddedinDB = true; //Code to check whether user is added in DB

        return isUserAddedinDB;
    }
}

1 个答案:

答案 0 :(得分:0)

您要做的是先检查身份验证,然后检查授权规则(可以访问应用程序)。我想这是一次性检查,只在第一次验证过程中发生。在这种情况下,您最好将该逻辑分成不同的方法(分离关注点)。

通常在MVC应用程序中,如果您需要进行自定义授权检查,我建议通过覆盖"授权"进行授权检查。属性(example)。