2015-06-05 52 views
4

这是类似于联答案,但我用下面的语法来代替:集团授权

Ended up using [Authorize(Roles = "DOMAIN\\Group")] in the controller which worked perfectly 

我有一个web应用程序,我现在已经完成,优秀的唯一的东西是到:

上传到网络服务器; 使其成为只有AD集团成员才能访问的网站。

我一直在阅读各种文章,他们都提出不同的事情。我在MVC设置windows身份验证了,它会打印出横幅上的用户ID的形式:

域\用户名

所有我想现在要做的,就是通过AD组成员。如果用户在该组中,则他们可以访问该网站,如果他们不在,他们将无法查看该网站。

我已经试过这在web.config中,我认为应该工作,但不是在测试环境中(VS 2013精通的Web运行iisexpress):

<authentication mode="Windows" /> 
<authorization> 
    <deny users="?" /> 
    <allow roles="DOMAIN\Some Group"/> 
</authorization> 

我需要这是一个更复杂的方法吗?目前我仍然可以运行并使用该网站,尽管不在指定的AD组中。

+1

请不要这样做。 web.config授权绝对不是拒绝/允许用户访问MVC中的位置的方式,它可以很容易地绕过不正确的代码。 [使用AuthorizeAttribute](http://stackoverflow.com/questions/1766914/authorize-an-entire-security-group-to-perform-an-action-in-asp-net-mvc)。 –

+0

欢呼声,然后将它建立到控制器。 – Amble

+0

在完美运行的控制器中使用[Authorize(Roles =“DOMAIN \\ Group”)]结束。 – Amble

回答

1

在完美运行的控制器中使用[Authorize(Roles =“DOMAIN \ Group”)]结束。

+0

这对我暂时工作,然后停止工作,现在我得到HTTP错误401.0 - 未经授权,除非我完全删除注释。 –