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

posted on 2018-03-09 08:26  笨兜兜  阅读(13859)  评论(0编辑  收藏  举报

导航