Jeesite框架实用 如何实现本公司内数据权限功能使用
文章目录
- 前言
- 一、数据库中创建一张视图表!!!(非常重要)
- 二、创建自己的表
- 三、使用jeesite导入表,生成代码
- 四、在此表生成的,service层中,加上过滤
- 五、在此表生成的,controller层中查看数据处,加上过滤
- 六、在此表生成的,Entity层中,加上过滤
- 六、完成,去jeesite中分配权限
- 总结
前言
做到这一块的时候,看了看视频,也找了一些相关的文章,但是自己动起手布置的时候,还是会出现很多问题,导致功能实现不了。这是为什么???这是因为好多文章漏了一个很关键的点!!!
一、数据库中创建一张视图表!!!(非常重要)
1.在视图层创建一张新表!!!
表名:自己起
表的SQL语句如下:
select `a`.`user_code` AS `user_code`,`a`.`login_code` AS `login_code`,`a`.`user_name` AS `user_name`,`e`.`office_code` AS `office_code`,`e`.`company_code` AS `company_code`
from (`js_sys_user` `a` left join `js_sys_employee` `e` on(((`e`.`emp_code` = `a`.`ref_code`) and (`a`.`user_type` = 'employee'))))
这张表关联了,user,机构,部门,就像从user的id再去查你关联的机构,再去你关联的部门。
2.使用jeesite框架,生成此表。这个表没必要展示,可可以选择仅生成entity,service表,或其他,可以吧这个表命名为UserEmployee
二、创建自己的表
自己创建一张单表,但必须包含以下字段:
这些字段,可以试试哪些是不需要的,我是没敢试,就直接用了
这些字段的由来:看过jeesite的设计表视频可知,ERmaster上如果创建了这个组(此指DataEntity),示可以保留供选择的,你再建表添加组,选择这张表即可。
三、使用jeesite导入表,生成代码
四、在此表生成的,service层中,加上过滤
/*** 添加数据权限过滤条件*///这里CmsSite 可替换成你这个表单生成的entity层名字public void addDataScopeFilter(CmsSite entity){// 举例4:用户、员工(自己创建的)数据权限根据部门过滤,实体类@Table注解extWhereKeys="dsfOffice"
entity.getSqlMap().getDataScope().addFilter("dsfOffice", "Office","e.office_code", "a.create_by", DataScope.CTRL_PERMI_HAVE);}
这里过滤的条件可从官方文档查看 https://www.jeesite.com/docs/service-datascope/
五、在此表生成的,controller层中查看数据处,加上过滤
/*** 查询列表数据*/@RequiresPermissions("cms:cmsSite:view")@RequestMapping(value = "listData")@ResponseBodypublic Page<CmsSite> listData(CmsSite cmsSite, HttpServletRequest request, HttpServletResponse response) {cmsSite.setPage(new Page<>(request, response));// 在这里添加即可: cmsSiteService可替换成你自己生成的service名字cmsSiteService.addDataScopeFilter(cmsSite);Page<CmsSite> page = cmsSiteService.findPage(cmsSite);return page;}
六、在此表生成的,Entity层中,加上过滤
其中 entity = 要查询的,咱第一步创建的表UserEmployee
dsfoffice 就是 第四步中那个过滤,我们可以把它看成是这个过滤条件的名字
六、完成,去jeesite中分配权限
1.先去用户管理中,给自己的人员分配角色。
2.去角色管理中,给不同角色分配能看到的页面和数据权限。
总结
如果想要会用的话,这样就可以了。
Jeesite框架实用 如何实现本公司内数据权限功能使用相关推荐
- 数据权限框架:一个实现数据权限与业务模块完全分离,让数据权限变成独立功能模块的数据权限框架
meng框架 介绍 meng框架是一个实现了行数据权限和列数据权限的数据权限框架: meng框架能让数据权限变成一个独立的功能模块,与业务模块完全分离,在已经实现的业务逻辑中添加数据权限不需要对原来的 ...
- 离线安装python第三方库的实用方法:解决公司内网,服务器/电脑不能上网却需要安装python三方库问题(上:Windows环境中)
离线安装python第三方库的实用方法:解决公司内网,服务器/电脑不能上网却需要安装python三方库问题(上:Windows环境中) 参考文章: (1)离线安装python第三方库的实用方法:解决公 ...
- jeesite 框架的简单应用
jeesite 框架的简单应用 一个讲解jeesite的网站 https://www.w3cschool.cn/jeesite/ jeesite官网 http://jeesite.com/ 公司项目都 ...
- JeeSite 框架学习笔记
JeeSite 框架学习笔记 目录 JeeSite 框架学习笔记 一.全局配置 1. 获取 Resource资源实际路径 DefaultResourceLoader 2. 配置前端 js css 二. ...
- 企业内部控制体系建设路径及启示 ——基于某公司内控建设案例研究
企业内部控制体系建设路径及启示 --基于某公司内控建设案例研究 来源:新浪博客 作者:马军生 2013-01-25 XY股份有限公司为符合上市公司内控法规要求, 提高企业经营管理水平和风险防范能力,促 ...
- 30分钟从工作电脑入侵公司内网!Win11:更新强制要求有TPM2.0,知道为啥了吧?...
博雯 发自 凹非寺 量子位 报道 | 公众号 QbitAI 工作电脑被偷的30分钟后,公司内网就进人了. 不仅拥有活动目录上的基本特权,还能在内部文件中来去自如! 可我那保护重重的Windows防火墙 ...
- 安装zabbix4.0(公司内网)
写在前面 目前所用的虚拟机没办法访问外网,只能在公司内网环境偷偷摸摸的搞,所以要先配置yum!多多的yum!!! 环境准备 软件包准备 zabbix软件包提取码:3fzg. centos镜像提取码:j ...
- linux虚拟机网络设置(本机使用公司内网)
使用桥接方式 设置: 一开始没有的话可以add 编辑edit 参考公司网络,下图是公司内网地址 然后设置 然后ping就ok了 转载于:https://www.cnblogs.com/dieyaxia ...
- 记与公司内网微博的谈话
谨以此文纪念那些公司内网的交流平台. 论坛,网站,邮件,微博. 可以说这是公司内部员工互动交流的四大天王. 但都出现种种的问题. 下边是我与第一家公司微博平台的对话. 我:看你简洁明了,一定很受欢迎吧 ...
最新文章
- C++中嵌套类的使用
- Hadoop HDFS copyMergeFromLocal
- BPW34F红外光电传感器
- Activity创建
- 使用Java代码在应用层获取Android系统属性
- 【Python】刚刚,Python 3.10 正式发布了!我发现了一个可怕的功能...
- 可以公开访问的 SAP gateway demo system ES5/002
- ug编程内公差和外公差是什么_干货丨模具工厂CNC加工编程工艺与标准!
- Linux常用C函数-接口处理篇(网络通信函数)
- (王道408考研数据结构)第三章栈和队列-第二节:队列基本概念、顺序栈和链栈基本操作
- jQuery延迟对象deferred的使用
- 英特尔玩VR有多认真?看看Project Alloy的细节就知道了
- 驻马店远大计算机阳业学院,电力学院
- python hasattr内建函数测试
- 抖音服务器升级维护时间,抖音服务器升级要多久2021
- button按钮的四种监听及实例
- 大一高数下册笔记整理_高数下册学习笔记
- 笔记本计算机提升性能,如何加快笔记本电脑的运行速度?
- php后端学习重点是,后端开发新手/小白学习之-前后端如何交互详解和重点学习...
- 前后端交互,密码加密,RSA 实现前端 js 加密,后端 go 解密