2010-01-29 34 views
0

我在基於C#的網站中使用表單身份驗證,並在各種文件夾/子文件夾中的web.config文件中定義了身份驗證。我想編寫一個通用的管理菜單系統,列出授權使用的所有管理頁面。當我添加頁面時,我希望它們自動顯示在菜單中。所以...ASP.NET - 是否有可能獲得用戶有權查看的所有頁面的列表/集合?

我需要獲取活動用戶有權打開的所有頁面的列表/集合。這是可能的ASP.Net 3.5?

我認爲ASP.Net具有內部頁面集合以及它們所需的角色(因爲它必須在您試圖打開頁面時檢查某處)?

回答

1

我會建議尋找使用網站地圖(在ASP.Net,web.SiteMap)。然後,您可以使用SiteMap作爲數據源(以及爲每個頁面定義角色等)。

+0

這聽起來像個好主意。仍然需要您以某種方式動態管理/更新站點地圖,但要比從頭編碼更容易。 – Bryan 2010-01-29 22:35:08

+0

這聽起來很完美!謝謝加布裏埃爾。 – 2010-01-29 22:41:08

0

你假設不正確......這些頁面沒有內部列表,只有文件系統。當ASP.NET嘗試打開頁面時,將逐個文件地檢查Access。

要做你正在尋找的東西,你必須使用System.IO自己編寫代碼並從web.config獲取授權設置。

+0

我同意,表單身份驗證是在每頁或每個目錄的基礎上指定的,無論是在網站地圖或web.config。您可以編寫自定義IO代碼來解析出這些信息。 – 2010-01-29 22:50:22

相關問題