Windows 身份验证对我有效,但对其他人无效

Windows Authentication works for me but not anyone else

我正在尝试将我的应用程序的身份验证从表单身份验证转换为 windows 身份验证。 进行转换并部署到测试服务器后,我发现我可以访问,但同一安全组中的 2 位同事没有。他们到达该站点,但系统提示他们输入登录名和密码。安全组在 AD 中设置并用作角色。 我对此很困惑,我不确定下一步该怎么做才能尝试解决这个问题。 所以想了解更多详情。我的web.config设置如下:

<authentication mode="Windows" />
<authorization>
  <deny users="?" />
</authorization>

包含第一页的控制器设置为

[Authorize(Roles = @"domain\Role1, domain\Role2, domain\Role3")]
public class ContractController : BaseController

(角色名称已更改)。 我自己和我的 2 位同事被设置为角色 3。 此项目的测试服务器上的 IIS 设置为:

那么我还需要做什么才能让它工作?

您需要在这种情况下禁用匿名身份验证。参见 https://msdn.microsoft.com/en-us/library/gg703322%28VS.98%29.aspx

检查角色名称是否有拼写错误(您的示例中有 Role 3 和 Role3,但我意识到这与实际代码不符)。

我发现的问题是项目部署到的文件夹需要重置其安全设置以包含 3 个角色。