人員管理體系: 管理組 - 角色 - 人員 權限管理以角色爲粒度 目標爲每一個「角色」配置後臺菜單顯示權限、每一個頁面的增刪改查權限(若是用獲得的話)、每一個自定義按鈕權限。 RIGHTS:菜單顯示權限 XX_QX: 頁面增刪改查權限java
權限值計算:web
/** * 利用BigInteger對權限進行2的權的和計算 * @param rights String型權限編碼數組 頁面的id集合 * @return 2的權的和 */ public static BigInteger sumRights(String[] rights){ BigInteger num = new BigInteger("0"); for(int i=0; i<rights.length; i++){ num = num.setBit(Integer.parseInt(rights[i])); } return num; }
權限驗證:數據庫
/** * 測試是否具備指定編碼的權限 * @param sum 記錄的權限值 * @param targetRights 頁面id * @return */ public static boolean testRights(String sum,String targetRights){ if(Tools.isEmpty(sum)) return false; return testRights(new BigInteger(sum),targetRights); }
角色的按鈕權限 須要一張關聯表,有對應關係則有權限。數組
web中將登錄後將按鈕權限和頁面權限去出放入session。 進入每一個頁面前經過攔截器,根據頁面權限計算出當前頁面的增刪改查權限,放入session中。session