【发布时间】:2015-06-05 12:07:44
【问题描述】:
它类似于链接的答案,但我使用了以下语法:
Ended up using [Authorize(Roles = "DOMAIN\\Group")] in the controller which worked perfectly
我有一个网络应用程序,我现在已经完成了,唯一未完成的事情是:
上传到网络服务器; 设置为只有 AD 组的成员才能访问该网站。
我一直在阅读各种文章,它们都提出了不同的建议。我已经在 MVC 中设置了 windows 身份验证,它会在横幅上打印出用户 ID,格式如下:
域\用户名
我现在要做的就是通过 AD 组成员身份。如果用户在组中,他们可以访问该网站,如果不是,他们将无法查看它。
我已经在 web.config 中尝试过这个,我认为它应该可以工作,但不在测试环境中(VS 2013 Exp. for Web running iisexpress):
<authentication mode="Windows" />
<authorization>
<deny users="?" />
<allow roles="DOMAIN\Some Group"/>
</authorization>
我需要更复杂的方法吗?目前,尽管不在指定的 AD 组中,我仍然可以运行和使用该网站。
【问题讨论】:
-
请不要这样做。 web.config 授权绝对不是拒绝/允许用户访问 MVC 中的位置的方法,它很容易被错误的代码绕过。 Use the AuthorizeAttribute.
-
干杯,然后将其构建到控制器中。
-
最终在控制器中使用 [Authorize(Roles = "DOMAIN\\Group")] 效果很好。
标签: asp.net-mvc active-directory asp.net-mvc-5