Windows身份验证适用于我但不适用于其他任何人

时间:2015-06-03 10:28:35

标签: asp.net-mvc windows-authentication

我正在尝试将我的应用程序的身份验证转换为窗口身份验证。 完成转换并部署到测试服务器后,我发现我有权访问,但同一安全组中的2位同事没有访问权限。他们到达网站,但提示登录+密码。安全组在AD中设置并用作角色。 我对此非常困惑,我不知道接下来要做什么来解决这个问题。 所以更多细节。我的web.config设置如下:

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

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

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

(角色名称已更改)。 我和我的两位同事将成为角色3。 此项目的测试服务器上的IIS设置为: enter image description here

那么我还需要做些什么才能让它发挥作用?

2 个答案:

答案 0 :(得分:3)

您需要在此方案中禁用匿名身份验证。请参阅https://msdn.microsoft.com/en-us/library/gg703322%28VS.98%29.aspx

检查任何角色名称中没有拼写错误(您的示例中有角色3和角色3,但我发现这与实际代码不符)。

答案 1 :(得分:1)

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