2015-06-28 166 views
3

我是新的春季mvc,在我現有的項目中,有一個管理員,他們有權更新數據,但現在我需要創建2個新的管理員,admin1和admin2 可以當他們登錄時只能看到有限的頁面:春季MVC角色和權限管理

當管理員登錄時,他們可以看到添加數據,更新數據,在菜單欄中發佈消息頁面。 但在Admin1的情況下,只能在菜單欄中看到Post meassage頁面。

所以,請指導我如何在春季實現這個任務mvc 在此先感謝。

回答

2

你必須要考慮使用Spring的安全性,實現this.check以下

<http auto-config="true"> 
<intercept-url pattern="/admin*" access="ROLE_ADMIN" /> 
</http> 

這意味着,只用「ROLE_ADMIN」用戶權限的用戶被允許訪問URI /管理員*。如果非授權用戶嘗試訪問它,將顯示「http 403訪問被拒絕頁面」。

你必須配置你當然需要兩個角色的網址,並允許對它們的訪問

簡單的例子,在http://www.mkyong.com/spring-security/spring-security-access-control-example/

0

。 - 然後,您可以選擇 - 檢查角色Admin1 or Admin2Admin1每一處。 - 但您已經提到了一種更好的方法:單獨角色和權限:將角色分配給用戶和角色權限,以便用戶通過角色獲得其權限。現在你只需要檢查權限以允許訪問一個函數。

Spring已經建立了14.4 Hierarchical Roles concept,但我覺得它很笨拙,因爲它要求每個選民都需要理解它。所以我實現了my own solution,這很簡單,只基於Spring-Security-Roles。所以人們只需要改變角色提供者,但僅此而已。

0

您需要在Spring安全中創建兩個不同訪問角色。

<http auto-config="true"> 
    <intercept-url pattern="/addData" access="ADMIN_2" /> 
    <intercept-url pattern="/updateData" access="ADMIN_2" /> 
    <intercept-url pattern="/postMessage" access="ADMIN_1" /> 
</http>