Asp.net mvc MVC Windows身份验证应用程序正在尝试匿名身份验证

Asp.net mvc MVC Windows身份验证应用程序正在尝试匿名身份验证,asp.net-mvc,authentication,Asp.net Mvc,Authentication,我正在创建一个新的MVC应用程序并尝试设置Windows身份验证,但当我尝试登录时,它拒绝了我 我认为这与iisexpress或我的浏览器无关,因为我有其他使用Windows身份验证的MVC应用程序可以正常工作。查看交易日志后,它似乎正在尝试通过匿名身份验证进行连接,这让我感到困惑,因为如果我的web.config中有以下内容: <authentication mode="Windows"/> 这就是我得到的错误: ModuleName ManagedPipelineHandle

我正在创建一个新的MVC应用程序并尝试设置Windows身份验证,但当我尝试登录时,它拒绝了我

我认为这与iisexpress或我的浏览器无关,因为我有其他使用Windows身份验证的MVC应用程序可以正常工作。查看交易日志后,它似乎正在尝试通过匿名身份验证进行连接,这让我感到困惑,因为如果我的web.config中有以下内容:

<authentication mode="Windows"/>
这就是我得到的错误:

ModuleName  ManagedPipelineHandler
Notification    EXECUTE_REQUEST_HANDLER
HttpStatus  401
HttpReason  Unauthorized
HttpSubStatus   0
ErrorCode   The operation completed successfully.
 (0x0)
ConfigExceptionInfo 
目前还不确定它们的意思,但似乎它们可能与我的问题有关

更新: 我剩下的问题似乎是我正在使用的active directory组特有的问题。用户似乎不在我的FilterConfig中的角色中,因此当我删除所有进入的筛选器角色时,我将被拒绝访问

决议: 为了完整性,我将添加解决我的授权问题的内容。出于某种原因,在我的筛选器配置中添加多个角色时出现问题,如下所示:

filters.Add(new HandleErrorAttribute());
filters.Add(new System.Web.Mvc.AuthorizeAttribute() { Roles = Auth.ROLE1 });
filters.Add(new System.Web.Mvc.AuthorizeAttribute() { Roles = Auth.ROLE2 });
filters.Add(new System.Web.Mvc.AuthorizeAttribute() { Roles = Auth.ROLE3 });
但当我创建了一个汇总组,并将它们全部添加到该组的AD中,然后只授权单个组,如下所示:

filters.Add(new HandleErrorAttribute());
filters.Add(new System.Web.Mvc.AuthorizeAttribute() { Roles = Auth.ALL_ROLES });

它修复了我的授权问题。

您可能需要强制进行身份验证,可能只需将
标记添加到
元素:

<authorization>
  <deny users="?" />
</authorization>

我意识到我已经解决了匿名身份验证问题。但仍然在验证我:(我会将你的答案标记为正确,因为它确实解决了我最初遇到的问题,谢谢!
filters.Add(new HandleErrorAttribute());
filters.Add(new System.Web.Mvc.AuthorizeAttribute() { Roles = Auth.ALL_ROLES });
<authorization>
  <deny users="?" />
</authorization>