如何强制仅在网站的一部分上使用Windows身份验证?

时间:2011-07-06 13:48:41

标签: asp.net-mvc-2 authentication iis-7.5

我正在使用ASP.NET MVC 2构建一个站点。该站点本身需要公开,但是admin部分应该要求登录,登录的用户需要在服务器上拥有本地管理员权限。

即。 http://server/site应该是开放的,但http://server/site/admin应强制管理员登录才能继续。

可以通过代码或调整web.config文件来完成吗?如有必要,可以对IIS进行配置更改,但我尝试将部署步骤降至最低。

2 个答案:

答案 0 :(得分:0)

我不知道你是否可以在web.config中执行此操作,或者即使可以通过IIS在MVC应用程序中执行此操作(因为文件系统上不存在/ site / admin),但是可以对IIS下的不同文件夹具有不同的权限。您需要使用IIS管理器来配置它。

您也可以在管理员控制器上使用AuthorizeAttribute

答案 1 :(得分:0)

事实证明这很简单:

  1. 在IIS中启用Windows身份验证。
  2. 在web.config中启用Windows身份验证。
  3. 使用[Authorize(Roles = "Admin")]装饰需要保护的每个操作。