页面某些特定图标的权限,比如导入导出表格,下载等等,这个权限必须在有某个页面查看的权利的基础上(细粒度)(shiro项目中来的四)
一,查找按钮权限的设置
第一步:会根据用户的相关信息去查到它的角色表;
SELECT * FROM SYS_USER WHERE user_id='eded77bdf35347249b2bacfa181c869d'


第二步:有了角色表之后再根据角色与权限的中间表查到权限表相关的信息;
buttonQXnamelist = buttonrightsService.listAllBrAndQxname(ROLE_ID); //此角色拥有的按钮权限标识列表
SELECT
*
FROM
SYS_ROLE_FHBUTTON a
LEFT JOIN SYS_FHBUTTON b
ON a.BUTTON_ID = b.FHBUTTON_ID
WHERE a.ROLE_ID = '68f8e4a39efe47c7bb869e9d15ab925d'

第三步,假如权限表中有这个权限则取它的名字,并把它的值设置成1;
map.put(buttonQXnamelist.get(i).getString("QX_NAME"),"1"); //按钮权限
{Datajur=1, email=1, FromExcel=1, toExcel=1, userBinding=1, sms=1, FHSMS=1}
第四步:假如以后有权限的修改直接来增加或者删除角色与权限的中间表就行了,其它的不用动。

二,当跳出页面的逻辑
onclick=siMenu('m37','z2','按钮权限','buttonrights/list.do')主要就是把角色表的信息,角色与权限的中间表的信息,和权限表的信息传到前台就行了。
SYS_ROLE张表中有所有的角色
SYS_ROLE_FHBUTTON 是角色与权限的中间表
SYS_FHBUTTON 权限表
SYS_ROLE.ROLE_ID=SYS_ROLE_FHBUTTON.ROLE_ID&&SYS_FHBUTTON.FHBUTTON_ID=SYS_ROLE_FHBUTTON.BUTTON_ID
SELECT t.*,h.* FROM SYS_ROLE t,SYS_ROLE_FHBUTTON h WHERE t.ROLE_ID=h.ROLE_ID
SELECT t.*,h.* FROM SYS_FHBUTTON t,SYS_ROLE_FHBUTTON h WHERE SYS_FHBUTTON.FHBUTTON_ID=SYS_ROLE_FHBUTTON.BUTTON_ID;
三,点击按钮时候时候的逻辑
这时候如果去除某个角色的某个权限,只需要把中间表的ROLE_ID ,和中间表的BUTTON_ID删除就行了,这就断掉了两者之间的联系就没有这个权限了。
url: "http://localhost:8088/MVNFHM/buttonrights/upRb.do?ROLE_ID="+ROLE_ID+"&BUTTON_ID="+FHBUTTON_ID+"&guid="+new Date().getTime(),
如果没有就添加,如果有就删除
这个表:SYS_ROLE_FHBUTTON
BUTTON_ID ROLE_ID 主要是这两个字段
if(null != buttonrightsService.findById(pd)){ //判断关联表是否有数据 是:删除/否:新增
buttonrightsService.delete(pd); //删除
FHLOG.save(Jurisdiction.getUsername(), "删除按钮权限"+pd);
}else{
pd.put("RB_ID", this.get32UUID()); //主键
buttonrightsService.save(pd); //新增
页面某些特定图标的权限,比如导入导出表格,下载等等,这个权限必须在有某个页面查看的权利的基础上(细粒度)(shiro项目中来的四)的更多相关文章
- 权限的分类(shiro项目中来的五)
第一种权限:菜单栏展示还是不展示的权限(粗颗粒) 实现方法,在SYS_ROLE表中添加一个字段rights,通过 public static BigInteger sumRights(String[] ...
- 使用Layui、Axios、Springboot(Java) 实现EasyExcel的导入导出(浏览器下载)
实现EasyExcel的导入导出(浏览器下载) 实现三个按钮的功能,但是却花费了一天的时间包括总结. 使用到的技术:springboot layui axios EasyExcel mybatis-p ...
- Oracle学习笔记之七(用户管理、角色与权限、导入导出等)
下面这些基本的SQL语句应该熟悉,能够灵活运用.最好在不查资料的情况下,能够写出如下的任何代码. 1. 用户操作 --create user username identified by passwo ...
- Oracle常用命令-用户、表空间、赋权限、导入导出
1.1 删除表空间 drop tablespace QBKJ including contents and datafiles; 1.2 删除用户 drop user admin cascad ...
- setBit testBit权限管理(shiro项目中来的二)
一,setBit testBit权限管理的理解 1.1.jdk7文档解释 public boolean testBit(int n)Returns true if and only if the de ...
- 数据库文件导入导出操作,以及赋予权限SQL语句
1.导出数据库xxxx和tlog(经过测试,没有问题)# /data/mysql/bin/mysqldump -u root -ppassword qq9x | gzip > /home/xxx ...
- springboot+mybatis+shiro项目中使用shiro实现登录用户的权限验证。权限表、角色表、用户表。从不同的表中收集用户的权限、
要实现的目的:根据登录用户.查询出当前用户具有的所有权限.然后登录系统后.根据查询到的权限信息进行不同的操作. 以下的代码是在搭好的框架之下进行的编码. 文章目录 核心实现部分. 第一种是将用户表和角 ...
- Django-xadmin+django-import-export导入导出的实现
转载自:https://blog.csdn.net/zcyuefan/article/details/77748850 1. 需求vs现状1.1 需求要求做一个ERP后台辅助管理的程序,有以下几项基本 ...
- oracle 导入导出功能
关于expdp和impdp 使用EXPDP和IMPDP时应该注意的事项: EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用. - EXPDP和IMPDP是服务端的工具程序,他 ...
随机推荐
- 使用xUnit为.net core程序进行单元测试(4)
第1部分: http://www.cnblogs.com/cgzl/p/8283610.html 第2部分: http://www.cnblogs.com/cgzl/p/8287588.html 第3 ...
- Does Java pass by reference or pass by value?(Java是值传递还是引用传递) - 总结
这个话题一直是Java程序员的一个热议话题,争论不断,但是不论是你百度搜也好还是去看官方的文档中所标明的也好,得到的都只有一个结论:Java只有值传递. 在这里就不贴代码细致解释了,让我们来看看一些论 ...
- zlib库VS2015编译步骤
[点击这里下载zlib1.2.8源码](http://zlib.net/zlib128.zip) [点击这里下载zlib1.2.8编译动态库](http://zlib.net/zlib128-dll. ...
- Centos-7 + Docker-1.12 中 devicemapper + direct_lvm 的 Docker 存储配置
html,body { font-size: 12pt } body { font-family: Helvetica, "Hiragino Sans GB", "微软雅 ...
- Oleans集群之Consul再解释
Oleans集群之Consul再解释 这是Orleans系列文章中的一篇.首篇文章在此 由于上周发文章的时候,我正要打算出门,所以就把写好的全部发出去了,有点仓促,虽然写了主线,但是这里还是需要再次解 ...
- 不受支持的URL Statue Code 1002
1. 错误提示: Error description=Error Domain=NSURLErrorDomain Code=-1002 "unsupported URL" User ...
- Elasticsearch-深入理解索引原理
最近开始大面积使用ES,很多地方都是知其然不知其所以然,特地翻看了很多资料和大牛的文档,简单汇总一篇.内容多为摘抄,说是深入其实也是一点浅尝辄止的理解.希望大家领会精神. 首先学习要从官方开始地址如下 ...
- OSI网络模型
OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 表示层 数 ...
- 第十九章 Django的ORM映射机制
第十九章 Django的ORM映射机制 第一课 Django获取多个数据以及文件上传 1.获取多选的结果(checkbox,select/option)时: req.POST.getlist('fav ...
- 【视频教程】一步步将AppBox升级到Pro版
本系列教程分为上中下三部分,通过视频的形式讲解如何将基于FineUI(开源版)的AppBox v6.0一步一步升级FineUIPro(基础版). [视频教程]一步步将AppBox升级到Pro版(上)主 ...