1
在自己的管理文件夾的根,我的在我的web.config以下:的system.webServer /安全/在我的IIS 7的web.config授權不工作
<system.webServer>
<security>
<authorization>
<remove users="*" roles="" verbs="" />
<add accessType="Allow" users="" roles="Admin" />
</authorization>
</security>
</system.webServer>
這幾乎是逐字從IIS documentation,但我改變了角色爲「管理員」而不是「管理員」,因爲這是我的應用程序中的角色。
我已經確保ASP.NET UrlAuthorization模塊沒有通過我的根web.config的modules
元素中的<remove name="UrlAuthorization" />
運行。我只是安裝了IIS7 UrlAuthorization,所以我知道它正在運行。
問題是,即使我明確允許管理員角色並驗證了我的管理員用戶已登錄,但管理員將獲得未經授權的錯誤。我誤解了什麼?
注意,因爲我開始寫這個問題,我解決了這個問題我明確列舉禁止所有的角色和去除remove users="*"
,但我不知道爲什麼它的工作。
當您刪除該規則,允許訪問所有人,以該管理員用戶身份登錄時,HttpContext.User是否顯示該用戶處於預期角色?另外,你是否嘗試在system.web/authorization中設置等價物(這就是我的工作地點,它適用於IIS7)? – 2012-01-28 04:25:53
是的,管理員登錄,我已經確認,與一個'Response.Write(User.IsInRole(「管理員」));'。是的,我嘗試使用system.web並註冊UrlAuthorization模塊 – smartcaveman 2012-01-28 16:25:59