博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Javaweb权限管理设计思路
阅读量:4334 次
发布时间:2019-06-07

本文共 1215 字,大约阅读时间需要 4 分钟。

权限管理业务界面如下:

数据库方面需要建立六张表:

用户表: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

转载于:https://www.cnblogs.com/bendoudou/p/8531931.html

你可能感兴趣的文章
小D课堂 - 新版本微服务springcloud+Docker教程_5-04 feign结合hystrix断路器开发实战下...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-03 feign结合hystrix断路器开发实战上...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_6-01 微服务网关介绍和使用场景
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-05熔断降级服务异常报警通知
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_6-03 高级篇幅之zuul常用问题分析
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-08 断路器监控仪表参数
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-3.热部署在Eclipse和IDE里面的使用...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_1-3.在线教育站点需求分析和架构设计...
查看>>
UI基础--烟花动画
查看>>
oracle之三 自动任务调度
查看>>
Android dex分包方案
查看>>
ThreadLocal为什么要用WeakReference
查看>>
删除本地文件
查看>>
FOC实现概述
查看>>
base64编码的图片字节流存入html页面中的显示
查看>>
这个大学时代的博客不在维护了,请移步到我的新博客
查看>>
GUI学习之二十一——QSlider、QScroll、QDial学习总结
查看>>
gethostbyname与sockaddr_in的完美组合
查看>>
kibana的query string syntax 笔记
查看>>
旋转变换(一)旋转矩阵
查看>>