Javaweb權限管理設計思路


權限管理業務界面如下:

數據庫方面需要建立六張表:

用戶表:user(用於存放用戶的相關屬性) id,登錄名,用戶姓名。。。

 

角色表:role(用於存放角色):roleId,roleName

 

用戶-角色表:user_role(記錄每一個用戶具有哪些菜單權限):userId,roleId

 

權限表:popedom(用於存放權限相關):mid,pid,name,url,icon,taeget,isparent,isMenu(左側權限列表是用z-tree實現)

 

角色-權限表:role_popedom(記錄每一個用戶具有的角色權限):roleId,mid,pid

 角色是關聯用戶和權限的橋梁

一、遍歷角色下拉菜單

  List<Role> roleList = RoleService.findRoleList();

  request.setAttribute("roleList",roleList);

二、查詢所有的權限,返回list集合,遍歷在頁面的權限分配上

  List<Popedom> popedomList = RoleService.findPopedomList();

  request.SetAttribute("poprdpmList",popedomList);

  難點分析:1:一個權限占一個tr,父節點顯示在這個tr的右邊的td中,當前父節點的所有的子節點顯示在左邊的一個td中。

       2:復選框(選擇角色類型):選父子全選;取消父,子全取消;取消子:最后一個取消,父也取消。(jquery goselect())。

三、角色關聯權限

  1.遍歷所有的權限 List<Popedom> list

  2.獲取角色id,查詢角色權限關聯表,獲取當前角色所有的功能權限,list<RolePopedom>

  分析:

    1.用list遍歷所有的角色權限,如果有則復選框被選中。

    2.在popedom對象中添加一個flag

     如果 flag = 1,則此時頁面復選框被選中

     如果 flag = 2,則此時頁面復選框未被選中

    3.設置flag的值

     遍歷List<Popedom> list,獲取每一個功能權限,如果每個功能權限和當前角色具有的權限相匹配,則flag=1,否則flag=2;

四:角色用戶的查詢(多對多)

    1.角色關聯用戶,遍歷所有的用戶 List<User> list

    2.獲取角色id,查詢角色表,獲取角色信息,role,

    獲取當前角色下有幾個用戶,獲取集合

    遍歷List<User> list,獲取系統中每個用戶。

    如果每個用戶和當前角色具有的用戶匹配,則flag=1,否則=2


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM