我有問題,允許特定角色訪問子目錄中的特定頁面。ASP.NET Forms Auth允許訪問子目錄中的特定文件,當所有其他應該被拒絕
我的ASP.NET應用程序有一個〜/ Forms/Administration目錄,其訪問權限有限。有一個特定的文件,〜/ Forms/Administration/Default.aspx,我想給予1個額外的用戶角色訪問權限,以及Admin角色。
在〜/表格/管理,我有一個web.config文件看起來像這樣:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<allow roles="Administrator, User" />
<deny users="*"/>
</authorization>
</system.web>
<location path="Forms/Administration/Default.aspx">
<system.web>
<authorization>
<allow roles="Administrator, User, AdditionalUser" />
</authorization>
</system.web>
</location>
</configuration>
管理員用戶工作得很好,但AdditionalUser總是失敗。我已經嘗試了很多事情 - 上市地點爲
<location path="Forms/Administration/Default.aspx">
而作爲
<location path="~/Forms/Administration/Default.aspx">
的是從第一個通用的規則採取先例拒絕=「*」?我試圖改變
<deny users="*"/>
要
<deny users="?"/>
但是,最終給予一切 AdditionalUser訪問。建議?
編輯:我試圖把位置特定允許之前通用拒絕規則,以防順序重要。同樣的問題。
更新:我明顯缺少這裏的東西:我刪除了拒絕*配置,並且只剩下位置特定部分。然後,我決定拒絕所有(*),而不是允許某些角色。但是,我登錄時根本不否認我。我甚至減少了規則,不是文件特定的,而是適用於整個目錄,它不會拒絕任何東西。但是,原始的非特定於位置的規則可以正常工作,所以我知道正在讀取此配置文件。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="Forms/Administration">
<system.web>
<authorization>
<deny users="*" />
</authorization>
</system.web>
</location>
</configuration>
Gah,這很有道理。我會盡快嘗試這個解決方案。 – Matt 2010-10-15 15:16:22
克里斯,你能幫助我http://stackoverflow.com/questions/15882511/how-do-i-configure-asp-net-forms-authentication-to-deny-only-a-specific-url。由於我只需要1次使用就可以訪問,我只需輸入他的登錄信息 – 2013-04-08 18:17:00
Lol @NatePet,我對你的問題發表了評論。希望這有助於 – 2013-04-08 23:00:57