我正在尝试将我的应用程序的身份验证转换为窗口身份验证。 完成转换并部署到测试服务器后,我发现我有权访问,但同一安全组中的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设置为:
那么我还需要做些什么才能让它发挥作用?
答案 0 :(得分:3)
您需要在此方案中禁用匿名身份验证。请参阅https://msdn.microsoft.com/en-us/library/gg703322%28VS.98%29.aspx。
检查任何角色名称中没有拼写错误(您的示例中有角色3和角色3,但我发现这与实际代码不符)。
答案 1 :(得分:1)
我发现的问题是,部署项目的文件夹需要将其安全设置重置为包含3个角色。