2010-11-23 139 views
2

在〜/工具/我有一個包含以下內容的webconfig文件:如何在虛擬路由URL(asp.net路由和表單身份驗證)上使用表單身份驗證?

<system.web> 
    <authorization> 
     <allow roles="admin" /> 
     <deny users="*" /> 
    </authorization> 
    </system.web> 

請求到〜/工具/ mypage.aspx要求用戶在管理員的角色。如果我使用URL路由並請求〜/ categories/mytools路由到上述頁面,則表單身份驗證不需要用戶擔任管理員角色。如何在虛擬路由網址上使用表單身份驗證?


所以我需要把它添加到我的webconfig:

對於需要表單認證的每個虛擬網址是什麼?似乎重複,如果這必須與每個指向「受保護的」目標頁面的網址完成。還有其他解決方案嗎?

回答

1

由於~/categories/mytools未明確~/tools未調用web.config授權。即使使用虛擬路由。您需要在目錄中複製web.config文件以實現這種效果。爲避免執行雙重任務,您可能希望將這些條目放入根web.config中,以列出其特定目錄或文件以獲取確切的權限。