我是新的春季mvc,在我現有的項目中,有一個管理員,他們有權更新數據,但現在我需要創建2個新的管理員,admin1和admin2 可以當他們登錄時只能看到有限的頁面:春季MVC角色和權限管理
當管理員登錄時,他們可以看到添加數據,更新數據,在菜單欄中發佈消息頁面。 但在Admin1的情況下,只能在菜單欄中看到Post meassage頁面。
所以,請指導我如何在春季實現這個任務mvc 在此先感謝。
我是新的春季mvc,在我現有的項目中,有一個管理員,他們有權更新數據,但現在我需要創建2個新的管理員,admin1和admin2 可以當他們登錄時只能看到有限的頁面:春季MVC角色和權限管理
當管理員登錄時,他們可以看到添加數據,更新數據,在菜單欄中發佈消息頁面。 但在Admin1的情況下,只能在菜單欄中看到Post meassage頁面。
所以,請指導我如何在春季實現這個任務mvc 在此先感謝。
你必須要考慮使用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/
。 - 然後,您可以選擇 - 檢查角色Admin1 or Admin2
或Admin1
每一處。 - 但您已經提到了一種更好的方法:單獨角色和權限:將角色分配給用戶和角色權限,以便用戶通過角色獲得其權限。現在你只需要檢查權限以允許訪問一個函數。
Spring已經建立了14.4 Hierarchical Roles concept,但我覺得它很笨拙,因爲它要求每個選民都需要理解它。所以我實現了my own solution,這很簡單,只基於Spring-Security-Roles。所以人們只需要改變角色提供者,但僅此而已。
您需要在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>