Struts-Menu結合角色權限的應用
STRUTS-MENU簡介:
STRUTS-MENU支持靜態和動態菜單,數據來源和顯示方式分開,菜單文字國際化,權限。





靜態:只須在標簽內加上

動態:在menu:useMenuDisplayer 中加上:repository="userMenuRepository"
顯示樣式:在menu:useMenuDisplayer 中加上:name="Velocity"
國際化:在menu:useMenuDisplayer 中加上:bundle="org.apache.struts.action.MESSAGE"
權限:在menu:useMenuDisplayer 中加上:permissions="rolesAdapter",如果名字是"rolesAdapter"則會自動調用
默認的net.sf.navigator.menu.RolesPermissionsAdapter:
































































在顯示菜單項時,會判斷菜單所定義的角色是否與用戶的角色吻合,是則顯示,否則不顯示。
如果使用ACEGI作為權限柜架,只須加上securityContextHolderAwareRequestFilter即可。
在前一個項目當中要根據登入用戶的權限進行菜單顯示:我把其中相關的代碼提煉出來.
在系統啟動時把菜單信息加載近來.通過擴展ActionServlet進行加載.












數據庫表中一級菜單的roles值按2.4.8.16....增加 這樣與用戶的roles值進行位運算.只要值為1,就可以顯示該菜單.
























































































































































顯示菜單:





posted on 2007-07-16 23:07 paulwong 閱讀(1825) 評論(1) 編輯 收藏 所屬分類: J2EE