Javaweb权限管理设计思路
權(quán)限管理業(yè)務(wù)界面如下:
數(shù)據(jù)庫(kù)方面需要建立六張表:
用戶表:user(用于存放用戶的相關(guān)屬性) id,登錄名,用戶姓名。。。
?
角色表:role(用于存放角色):roleId,roleName
?
用戶-角色表:user_role(記錄每一個(gè)用戶具有哪些菜單權(quán)限):userId,roleId
?
權(quán)限表:popedom(用于存放權(quán)限相關(guān)):mid,pid,name,url,icon,taeget,isparent,isMenu(左側(cè)權(quán)限列表是用z-tree實(shí)現(xiàn))
?
角色-權(quán)限表:role_popedom(記錄每一個(gè)用戶具有的角色權(quán)限):roleId,mid,pid
?角色是關(guān)聯(lián)用戶和權(quán)限的橋梁
一、遍歷角色下拉菜單
List<Role> roleList = RoleService.findRoleList();
request.setAttribute("roleList",roleList);
二、查詢所有的權(quán)限,返回list集合,遍歷在頁(yè)面的權(quán)限分配上
List<Popedom> popedomList = RoleService.findPopedomList();
request.SetAttribute("poprdpmList",popedomList);
難點(diǎn)分析:1:一個(gè)權(quán)限占一個(gè)tr,父節(jié)點(diǎn)顯示在這個(gè)tr的右邊的td中,當(dāng)前父節(jié)點(diǎn)的所有的子節(jié)點(diǎn)顯示在左邊的一個(gè)td中。
2:復(fù)選框(選擇角色類型):選父子全選;取消父,子全取消;取消子:最后一個(gè)取消,父也取消。(jquery goselect())。
三、角色關(guān)聯(lián)權(quán)限
1.遍歷所有的權(quán)限 List<Popedom> list
2.獲取角色id,查詢角色權(quán)限關(guān)聯(lián)表,獲取當(dāng)前角色所有的功能權(quán)限,list<RolePopedom>
分析:
1.用list遍歷所有的角色權(quán)限,如果有則復(fù)選框被選中。
2.在popedom對(duì)象中添加一個(gè)flag
如果 flag = 1,則此時(shí)頁(yè)面復(fù)選框被選中
如果 flag = 2,則此時(shí)頁(yè)面復(fù)選框未被選中
3.設(shè)置flag的值
遍歷List<Popedom> list,獲取每一個(gè)功能權(quán)限,如果每個(gè)功能權(quán)限和當(dāng)前角色具有的權(quán)限相匹配,則flag=1,否則flag=2;
四:角色用戶的查詢(多對(duì)多)
1.角色關(guān)聯(lián)用戶,遍歷所有的用戶 List<User> list
2.獲取角色id,查詢角色表,獲取角色信息,role,
獲取當(dāng)前角色下有幾個(gè)用戶,獲取集合
遍歷List<User> list,獲取系統(tǒng)中每個(gè)用戶。
如果每個(gè)用戶和當(dāng)前角色具有的用戶匹配,則flag=1,否則=2
轉(zhuǎn)載于:https://www.cnblogs.com/bendoudou/p/8531931.html
總結(jié)
以上是生活随笔為你收集整理的Javaweb权限管理设计思路的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谷歌驱动下载链接
- 下一篇: 第12课第3节 字符设备驱动程序之查询方