设置IIS以保护管理文件夹

时间:2011-03-24 18:31:56

标签: .net active-directory admin

我在.NET应用程序中使用Windows身份验证,是否可以设置IIS,因此只有管理员组中的用户才能访问admin文件夹,而其他用户会收到错误?

它在哪里做到了?在代码?或者IIS中有设置吗?

1 个答案:

答案 0 :(得分:0)

为Windows身份验证配置Web应用程序

要配置Web应用程序以进行Windows身份验证,请按照下列步骤操作:

  • 单击“开始”,指向“程序”,指向“管理工具”,然后单击“Internet信息服务”。
  • 出现Internet信息服务 MMC 。展开“计算机”,然后展开使用Windows身份验证的网站。
  • 单击您的网站应用程序。
  • 在“操作”菜单上,单击“属性”。
  • 在“属性”中,单击“目录安全性”选项卡。
  • 在“匿名访问和身份验证控制”下,单击“编辑”。
  • 在身份验证方法中,单击以选中“集成Windows身份验证”。单击以清除所有其他复选框。
  • 单击“确定”。
  • 在“属性”中,单击“确定”。您的Web应用程序现已配置为接受有效的用户帐户。

然后在你的web.config中,启用Windows身份验证。

<authentication mode="Windows" />

您还需要在web.config中启用 RoleManage AspNetWindowsTokenRoleProvider 在machine.config中定义,因此您只需要设置。

<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider"></roleManager>

然后,您可以允许和拒绝特定用户或用户组(角色)

<configuration>
<!-- empty means files at root path -->
 <location path="">
  <system.web>
    <authorization>
      <!--Allowing any user of Administrators group,
        you can provide more separating by comma-->
      <allow roles="domainname\Administrators" />
      <deny users="*" />    <!-- * mean any user-->
    </authorization>
  </system.web>
 </location>
</configuration>

<configuration>
<!-- means all files inside AdminFolder -->
 <location path="AdminFolder">
  <system.web>
    <authorization>
      <!--Allowing any user of Administrators group,
        you can provide more separating by comma-->
      <allow roles="domainname\Administrators" />
      <deny users="*" />    <!-- * mean any user-->
    </authorization>
  </system.web>
 </location>
</configuration>

我测试了它并且它有效。保持更多阅读How To: Use Windows Authentication in ASP.NET 2.0

祝你好运!