系统如何实现权限控制
某个用户登录进去,能看到哪些菜单,能操作哪些按钮。#菜单树#
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后台提供........................菜单树
系统如何实现权限控制相关推荐
- 使用拦截器或者AOP实现权限管理(OA系统中实现权限控制)
在开发类似与OA管理系统类型的项目中,经常需要设置到权限管理.例如对某个部门的人员CURD操作,默认是该部门的普通员工是不会有该权限的.但若某个员工升级为该部分的负责人.则此时它就拥有对该部门的CUR ...
- 使用shiro进行系统身份验证-权限控制,登录界面乱跳
问题描述;shiro验证成功后,跳转页面不是shiro.xml文件中配置的跳转地址 1.自定义MyFormAuthenticationFilter继承FormAuthenticationFilter并 ...
- 基于角色-功能-资源的权限控制模型的设计与实现-引子
摘要 本文在RBAC基本思想的基础上,增加资源权限的概念,设计了在企业应用系统中用户权限控制的一种具体的简单实现方法. 关键字 用户权限控制 名词解释 资源权限:资源指的是纳入企业应用的一切需要管理的 ...
- AOP下的权限控制实现
摘要 面向方面的编程(AOP)是一种新的编程技术,它弥补了面向对象的编程(OOP)在跨越模块行为上的不足.AOP引进了Aspect,它将影响多个类的行为封装到一个可重用模块中,它允许程序员对横切关注点 ...
- Linux权限控制的基本原理
2019独角兽企业重金招聘Python工程师标准>>> 本文主要介绍 Linux 系统中,权限控制的基本原理. 安全模型 在 Linux 系统中,我们所有的操作实质都是在进行进程访问 ...
- web业务系统权限控制
来源:http://blog.chinaunix.net/u1/52224/showart_410119.html 在以往的系统设计中,要么缺乏权限控制,要么就是权限控制很简单,,要么权限控制功能虽然 ...
- netcore权限控制_netcore mvc快速开发系统(菜单,角色,权限[精确到按钮])开源...
基于netcore2.0 mvc 开发的 快速搭建具有如下特色的后台管理系统 特色: 用户管理 菜单管理 角色管理 权限管理[精确到按钮]) 代码生成器 如何使用 代码克隆到本地 用vs2017或以上 ...
- 基于Vue实现后台系统权限控制
原文地址:http://refined-x.com/2017/08/29/基于Vue实现后台系统权限控制/,转载请注明出处. 用Vue这类双向绑定框架做后台系统再适合不过,后台系统相比普通前端项目除了 ...
- 案例分享:Qt工程机械真空激光焊接系统软件产品定制(西门子PLC,mysql数据库,用户权限控制,界面配置,参数定制,播放器,二维图标,rgv小车,期限控制,参数调试等)
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/127214512 长期持续项目技术分享,有需求请回博客首 ...
- 后台系统的权限控制与管理
以下内容源于对该视频的学习 前端面试官必问系列-后台系统的权限控制与管理[完结] 目录 前端权限控制思路 vue的权限控制与实现 菜单的控制 界面的控制 按钮的控制 请求和响应的控制 总结 前端权限控 ...
最新文章
- 现在没点硬核技术都不敢卖货了
- JS获取字符串实际长度(包含汉字)的简单方法
- c语言结构体老师信息管理系统,C语言课程设计职工信息管理系统结构体数组实现程序源代码.doc...
- 策略梯度训练cartpole小游戏
- react 的props和state
- 利用微软类库 Visual Studio International Pack 汉字转拼音
- 月赛 SX_ACM 惨痛教训
- 你好,面试官 | 你拿Java Map考验老干部?
- .net下完成端口(IOCP)的实现
- pyqt5-步长调节器
- Spring3核心技术之AOP配置【转】
- 【转载】VBA 读取EXCEL 行列总数
- Unity视频组件Video Player的介绍
- c语言正弦函数图像,正弦函数图像
- php优缺点ppt,ppt和pdf有什么区别
- 如何在互联网上寻找免费电子书?(其二)
- DM368串口通信调试
- 华为机试OD真题 javaScript和java 叠积木 堆积木
- 听力1-10中的不熟悉的单词
- 全自动与半自动手表的区别_机械表全自动好还是半自动好 有什么区别
热门文章
- 《哈利·波特》作者曾有自杀念头
- neutron用linux_bridge部署provider网络
- vsftpd之启用OpenSSL认证
- 防火墙配置十大任务之五,有NAT的两个接口的配置
- 使用 jQuery 避免鼠标双击
- Selenium(二)——webdriver 开始
- 【C】——C深入探讨——switch语句的default位置【转】
- cocos2d- AtlasSprite AtlasSpriteManager
- LVDS屏的俩种接口:JEIDAVESA
- Centos66 编译 Freeswitch mod_shout mp3录音模块