权限管理业务界面如下:

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

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

Javaweb权限管理设计思路相关推荐

  1. 数据权限设计思路_后台权限管理设计思路:三种模型分析

    编辑导语:任何系统/产品搭建时,最先考虑的都应该是权限管理模块,而且权限管理模块的清晰.稳定是平台产品健康发展的基石,权限管理核心考虑的问题是用户与权限的关系.本文作者对三种不同权限管理的版本展开了梳 ...

  2. 企业项目权限管理设计思路详解

    任何系统都离不开权限的管理,有一个好的权限管理模块,不仅使我们的系统操作自如,管理方便,也为系统添加亮点. l        不同职责的人员,对于系统操作的权限应该是不同的.优秀的业务系统,这是最基本 ...

  3. 后台的权限管理设计思路

    [sql] view plaincopy <span style="font-family:Arial, Helvetica, sans-serif;background-color: ...

  4. java web权限_Javaweb权限管理设计思路

    权限管理业务界面如下: 数据库方面需要建立六张表: 用户表:user(用于存放用户的相关属性) id,登录名,用户姓名... 角色表:role(用于存放角色):roleId,roleName 用户-角 ...

  5. 系统权限管理设计 (转:http://blog.csdn.net/chexlong/article/details/37697555)

    权限设计(转:http://blog.csdn.net/chexlong/article/details/37697555)      1. 前言:      权限管理往往是一个极其复杂的问题,但也可 ...

  6. python通用权限管理框架图_通用权限管理设计篇_设计模式

    摘要: 本文讲的是通用权限管理设计篇_设计模式, 博客地址:http://www.blogjava.net/amigoxie/  一.引言        因为做过的一些系统的权限管理的功能虽然在逐步完 ...

  7. 系统权限管理设计 (转)

    权限设计(初稿)      1. 前言:      权限管理往往是一个极其复杂的问题,但也可简单表述为这样的逻辑表达式:判断"Who对What(Which)进行How的操作"的逻辑 ...

  8. 通用权限管理设计 之 数据权限

    阅读目录 前言 初步分析 通用查询机制 数据权限规则 实际应用 结语 前言 前一篇文章<通用权限管理设计 之 数据库设计方案>介绍了[主体]- [领域] - [权限]( who.what. ...

  9. 数据权限简单设计思路

    数据权限简单设计思路 现有权限控制分类 数据权限控制 服务架构流程 权限字段的注册 权限字段授权 权限字段鉴权 前端界面适配 动态渲染数据字段 开发注意事项及思考 权限合并 权限的叠加 规则的叠加 S ...

最新文章

  1. mysql 技术交流群_二进制部署MySQL(运维技术交流群:926402931,欢迎大家一起来交流。)...
  2. 基于matlab水轮机期刊,基于MATLAB/SIMULINK的水轮机调节系统寻优
  3. 无处不在的智能设备与边缘计算时代即将来临
  4. 【Codeforces717F】Heroes of Making Magic III 线段树 + 找规律
  5. 《Java 核心技术卷1 第10版》学习笔记 ------ 泛型【进阶】
  6. c语言数组输出最大值和次大值,求给定数组的最大值与次大值
  7. bigdecimal 小于等于0_半场0-0比分的比赛,你需要注意这些
  8. 天池竞赛-津南数字制造算法挑战赛【赛场二】解决方案分享
  9. JDBC开发之数据库连接池
  10. 【JVM】Java虚拟机
  11. 2019 谷歌年度搜索关键词揭晓,技术宅的英雄梦!
  12. BZOJ4011:[HNOI2015]落忆枫音(DP,拓扑排序)
  13. “无法为保留分区分配驱动器号”的解决
  14. 长沙IT培训学校有哪些?IT培训选线上还是线下?
  15. python3.5 爬取bing搜索结果页面标题、链接
  16. java实用型:mybatis的好帮手-MybatisCodeHelperPro
  17. 2017.12.10《“剑锋OI”普及组多校联盟系列赛(14)#Sooke#Kornal 的课余时间 》分析报告
  18. unity 摄像机追随指定物体
  19. 【全栈之前端编程】Javaweb使用thymeleaf局部刷新结合Layui插件实现Html分页
  20. 《缠中说禅108课》20:缠中说禅走势中枢级别扩张及第三类买卖点

热门文章

  1. 上下布局:上部分高度自己撑起,下部分高度占满剩下的全部
  2. HDU 1412 {A} + {B}
  3. 11.swift 单例
  4. redis 3.0 集群__数据迁移和伸缩容
  5. POJ 2455 Secret Milking Machine (二分+无向图最大流)
  6. [转]Javascript 绝句
  7. 漫 谈oracle 中 的 空 值
  8. 安卓音频输出采样率_只有AirPods配有姓名吗?安卓的这些无线耳机也不错
  9. php 网页内容下载,php实现当前页面点击下载文件的简单方法
  10. 怎么用MYSQL分析财务数据_如何使用Mysql正确的处理财务数据