2011-03-24 67 views
0

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

它在哪里做的?在代码中?或者IIS中是否有设置?

回答

0

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

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

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

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

<authentication mode="Windows" /> 

还需要启用RoleManage你的web.config
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

祝你好运!