某个用户登录进去,能看到哪些菜单,能操作哪些按钮。#菜单树#

1,表

1.1)表设计

用户表-

select * from csms_user where user_name = 'plant02'
用户角色表-

select * from csms_user_role where user_id = 998 96
角色表-

select * from csms_role where id = 96
角色菜单表-

select * from csms_role_menu where role_id = 96
菜单表-

select * from csms_menu where id in(999999, 120000, 120100, 120101,120102,120103,120104,120200,120201,120300,120301)
菜单权限表-

select * from csms_menu_auth where menu_id in(999999, 120000, 120100, 120101,120102,120103,120104,120200,120201,120300,120301)
权限表-

select * from csms_auth where id in(988,987,986,985,989,984,983,982,981,980,979,967,966,965,962)

1.2)关系:用户:角色:菜单:权限 1:n:n:n

1.3)表结构说明

1.3.1)菜单表,权限表,如下图,在此注意菜单跟权限直接关联,一个菜单对应多个权限(比如增,删,改,上报)

字段说明:

url:菜单表中权限url实际没用,用的是权限url,保存的接口路径

parent_id:父菜单ID,表面菜单是一个树形结构

type:0:菜单 1:按钮

3.2) 如果把菜单表,菜单权限表去掉,只保留 用户,角色,权限三者间关系。相当于菜单表和权限表合并,权限表结构如下图

2,用户,菜单,权限控制

2.1菜单结构

通过两个用户具有不同操作权限对比说明问题

用户1:主机厂用户

如下图,购车方案申请(查询,创建,修改,删除,上报);待审批方案(查询,撤销);已发布方案(查询,查看详情)的功能

用户二:沈明,审批方案

审批方案(审批),已发布方案(查询,查看详情)

2.2对比分析

通过对比主机厂用户和沈铭用户可以得出,不同之处在于,二级菜单购车方案申请(主机厂用户增删改查上报);待审批方案(主机厂只能撤销,沈铭可审批)

3, 数据分析如何实现

3.1 菜单,按钮实现

3.1.1 主机厂菜单,按钮

3.1.2 沈明菜单,按钮

对比可以看出沈铭用户没有审批上报菜单,具有审批方案按钮,无审批撤销按钮(主机厂相反)

3.2菜单,权限如何关联

如下图,菜单-待审批方案(120200)对应四种权限(981,982,983,984),(查询,撤销(主机厂),同意,反对(沈铭))

菜单权限表

3.3 权限

上面说明了,用户,菜单,按钮问题,解决了看得见的问题,而每个菜单或按钮都提供了一个接口,可以直接调用,那权限表有什么用?答案是:鉴权。否则每个用户拿到ur是否都可以调用任意接口,在zuul网关中,首先会根据用户获取所有权限,判断当前入参url,是否包含在权限内。

4,前端

用户登录进来,如何展示有能看到的菜单,按钮

java后台提供........................菜单树

系统如何实现权限控制相关推荐

  1. 使用拦截器或者AOP实现权限管理(OA系统中实现权限控制)

    在开发类似与OA管理系统类型的项目中,经常需要设置到权限管理.例如对某个部门的人员CURD操作,默认是该部门的普通员工是不会有该权限的.但若某个员工升级为该部分的负责人.则此时它就拥有对该部门的CUR ...

  2. 使用shiro进行系统身份验证-权限控制,登录界面乱跳

    问题描述;shiro验证成功后,跳转页面不是shiro.xml文件中配置的跳转地址 1.自定义MyFormAuthenticationFilter继承FormAuthenticationFilter并 ...

  3. 基于角色-功能-资源的权限控制模型的设计与实现-引子

    摘要 本文在RBAC基本思想的基础上,增加资源权限的概念,设计了在企业应用系统中用户权限控制的一种具体的简单实现方法. 关键字 用户权限控制 名词解释 资源权限:资源指的是纳入企业应用的一切需要管理的 ...

  4. AOP下的权限控制实现

    摘要 面向方面的编程(AOP)是一种新的编程技术,它弥补了面向对象的编程(OOP)在跨越模块行为上的不足.AOP引进了Aspect,它将影响多个类的行为封装到一个可重用模块中,它允许程序员对横切关注点 ...

  5. Linux权限控制的基本原理

    2019独角兽企业重金招聘Python工程师标准>>> 本文主要介绍 Linux 系统中,权限控制的基本原理. 安全模型 在 Linux 系统中,我们所有的操作实质都是在进行进程访问 ...

  6. web业务系统权限控制

    来源:http://blog.chinaunix.net/u1/52224/showart_410119.html 在以往的系统设计中,要么缺乏权限控制,要么就是权限控制很简单,,要么权限控制功能虽然 ...

  7. netcore权限控制_netcore mvc快速开发系统(菜单,角色,权限[精确到按钮])开源...

    基于netcore2.0 mvc 开发的 快速搭建具有如下特色的后台管理系统 特色: 用户管理 菜单管理 角色管理 权限管理[精确到按钮]) 代码生成器 如何使用 代码克隆到本地 用vs2017或以上 ...

  8. 基于Vue实现后台系统权限控制

    原文地址:http://refined-x.com/2017/08/29/基于Vue实现后台系统权限控制/,转载请注明出处. 用Vue这类双向绑定框架做后台系统再适合不过,后台系统相比普通前端项目除了 ...

  9. 案例分享:Qt工程机械真空激光焊接系统软件产品定制(西门子PLC,mysql数据库,用户权限控制,界面配置,参数定制,播放器,二维图标,rgv小车,期限控制,参数调试等)

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/127214512 长期持续项目技术分享,有需求请回博客首 ...

  10. 后台系统的权限控制与管理

    以下内容源于对该视频的学习 前端面试官必问系列-后台系统的权限控制与管理[完结] 目录 前端权限控制思路 vue的权限控制与实现 菜单的控制 界面的控制 按钮的控制 请求和响应的控制 总结 前端权限控 ...

最新文章

  1. 现在没点硬核技术都不敢卖货了
  2. JS获取字符串实际长度(包含汉字)的简单方法
  3. c语言结构体老师信息管理系统,C语言课程设计职工信息管理系统结构体数组实现程序源代码.doc...
  4. 策略梯度训练cartpole小游戏
  5. react 的props和state
  6. 利用微软类库 Visual Studio International Pack 汉字转拼音
  7. 月赛 SX_ACM 惨痛教训
  8. 你好,面试官 | 你拿Java Map考验老干部?
  9. .net下完成端口(IOCP)的实现
  10. pyqt5-步长调节器
  11. Spring3核心技术之AOP配置【转】
  12. 【转载】VBA 读取EXCEL 行列总数
  13. Unity视频组件Video Player的介绍
  14. c语言正弦函数图像,正弦函数图像
  15. php优缺点ppt,ppt和pdf有什么区别
  16. 如何在互联网上寻找免费电子书?(其二)
  17. DM368串口通信调试
  18. 华为机试OD真题 javaScript和java 叠积木 堆积木
  19. 听力1-10中的不熟悉的单词
  20. 全自动与半自动手表的区别_机械表全自动好还是半自动好 有什么区别

热门文章

  1. 《哈利·波特》作者曾有自杀念头
  2. neutron用linux_bridge部署provider网络
  3. vsftpd之启用OpenSSL认证
  4. 防火墙配置十大任务之五,有NAT的两个接口的配置
  5. 使用 jQuery 避免鼠标双击
  6. Selenium(二)——webdriver 开始
  7. 【C】——C深入探讨——switch语句的default位置【转】
  8. cocos2d- AtlasSprite AtlasSpriteManager
  9. LVDS屏的俩种接口:JEIDAVESA
  10. Centos66 编译 Freeswitch mod_shout mp3录音模块