2010-03-16 61 views
1

我正在構建一個應用程序,其中不同的用戶可以根據他們已付費購買不同的菜單項。菜單層次也會有多個層次。如何管理應用程序中的Web導航信息?

這個問題最好的解決方法是什麼?

我假設我需要一個數據庫表來表示菜單層次結構,包括導航中節點的父子關係以及項目的排序。然後,我使用另一個表來管理用戶是否有權訪問該表中的特定項目。

當我呈現視圖,我參考菜單,並且用戶輸出所述菜單的訪問權限,以及我還需要一個函數來用戶手動檢查相同的授權從每個控制器的情況下類型在他們不應該有權訪問的控制器的URL中。

這是正確的做法嗎?任何建議緩存這個,以防止這種類型的信息不斷查找?對於您可能如何處理此類需求的問題,我願意接受任何建議。

+0

是每個客戶將擁有網站/數據庫的自己的部署實例,或者會不會有一個實例? – gingerbreadboy 2010-03-16 14:07:33

回答

1

當用戶登錄時,我會檢查有那麼的一切權利,然後將它們存儲到他們的會話。這樣,你只需要從數據庫中查找一次。

否則,你處理的菜單,並在每個控制器頁面的做法,似乎罰款。