Asp.net mvc IIS中的Windows身份验证-禁止本地用户使用MVC4应用程序

Asp.net mvc IIS中的Windows身份验证-禁止本地用户使用MVC4应用程序,asp.net-mvc,iis,active-directory,windows-authentication,Asp.net Mvc,Iis,Active Directory,Windows Authentication,我们正在为MVC4应用程序使用IIS 7-8。访问受IIS内置Windows身份验证的保护。本地用户(添加到服务器上)和在AD中注册的用户可以登录。如何将本地用户排除在登录之外?我的建议是基于广告组构建身份验证 您可以创建一个或多个广告组,并将用户添加到该组中。然后,您可以仅将对web应用程序的访问限制为这些组 然后在MVC中,您可以对操作、控制器使用Authorize属性,或者将其设置为全局过滤器 基本用法 [Authorize(Roles=@"MyCompanyDomain\\company

我们正在为MVC4应用程序使用IIS 7-8。访问受IIS内置Windows身份验证的保护。本地用户(添加到服务器上)和在AD中注册的用户可以登录。如何将本地用户排除在登录之外?

我的建议是基于广告组构建身份验证

您可以创建一个或多个广告组,并将用户添加到该组中。然后,您可以仅将对web应用程序的访问限制为这些组

然后在MVC中,您可以对操作、控制器使用
Authorize
属性,或者将其设置为全局过滤器

基本用法

[Authorize(Roles=@"MyCompanyDomain\\company-group-name-here")]  

我通过MVC4 C代码找到了一个解决方案:

在我的控制器中,调用该方法并传递标识:

if(IsLocalUser(HttpContext.User.Identity as WindowsIdentity))
{
    // block and refer to error site.
}

谢谢你的回答。这里的问题是:解决方案应该接受没有固定定义的任何域。
if(IsLocalUser(HttpContext.User.Identity as WindowsIdentity))
{
    // block and refer to error site.
}