2012-05-11 32 views
0

我有一個頁面主幹應用程序。它基本上是一些項目列表,每個項目都有一些相關的數據。現在,只有管理員用戶才能看到,編輯,銷燬鏈接以及其他一些「管理員專用」功能。具有不同功能的骨幹應用程序

如果我想讓頁面可供非管理員用戶使用,讓他們只看到項目和一些管理功能,那麼最好是有一組不同的視圖,模型,模板,另一個應用程序根據用戶角色隱藏?

或者也許只是另一組模板?

回答

1

另一種簡單的方法是使用相同的模板(相同的HTML),但通過CSS切換元素。

您可以添加/刪除類到您的模板像.admin的根DOM元素與CSS玩:

#my-root-element .admin-element { 
    display: none; 
} 

#my-root-element.admin .admin-element { 
    display: block; 
} 

當然的元素將仍然存在可能的惡意用戶,但是這不應該」 t是一個安全問題,因爲您總是應該在服務器層中有額外的安全過濾器。

2

我會說最簡單和最可維護的解決方案將是爲管理員和非管理員用戶提供單獨的模板。

您應該可以使用相同的視圖,但模板將決定啓用哪個功能。

同樣,有很多方法可以解決這個問題,它取決於上下文,在這種情況下,我認爲不同的模板是最好的方法。