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

Custom Authentication along with Integrated Windows Authentication

我在我的应用程序中使用 Integrated Windows Authentication,因此只有域用户才能访问该应用程序。

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

为了实现这一点,我采用了以下方式。这是最佳做法吗??请指教

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" 属性 (example) 来进行授权检查。