2011-03-24 27 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

祝你好運!