自定义身份验证和集成Windows身份验证



我在应用程序中使用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;
    }
}

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

通常,在MVC应用程序中,如果您需要进行自定义授权检查,我建议通过重写"Authorize"属性来进行授权检查(示例)。