若依开源项目在线文档:介绍 | RuoYi
若依开源项目 Vue 前后端分离版本:RuoYi-Vue: 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本
在使用若依(RuoYi) 开源项目搭建自己的应用系统时,整个过程非常简便且高效,系统运行起来也比较流畅,得益于若依项目背后开发人员的默默付出,再次对他们表示感谢!!
在使用过程中,功能上的权限及按钮级别的权限已经做得相当成熟,直接操作几次就可以使用。但是,对于数据隔离问题,也就是不同角色的用户拥有的数据权限问题,虽然文档也有描述,也有一个现成的例子,但是没有结果业务功能,看得有点不太好理解,我这里直接举例业务功能的例子,帮助朋友们根据自己业务去做调整,完成数据权限的使用,能够满足业主的需求。
首先,在建立业务功能数据库表的时候,需要添加user_id及dept_id,这里的user_id 表示这个表的记录由谁创建的,dept_id 其实创建人的部门id,这两个字段需要在每一个需要用到数据权限的业务功能表加上,例如我这里的业务功能表
创建脚本sql
DROP TABLE IF EXISTS `print_entrust`;
CREATE TABLE `print_entrust` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
`xh` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '学号',
`entrustedXh` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT '0' COMMENT '打印终端ID',
`printtype` int DEFAULT '0' COMMENT '打印类型',
`copies` int DEFAULT '1' COMMENT '打印份数',
`payable` int DEFAULT '0' COMMENT '应付(分)',
`actualpay` int DEFAULT '0' COMMENT '实付(分)',
`create_time` datetime DEFAULT NULL COMMENT '打印时间',
`user_id` bigint DEFAULT NULL COMMENT '创建人',
`dept_id` bigint DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
添加完数据库表之后,再web端同步数据库,并自动生成代码
生成代码文件后,结构如下:
1、在Controller模块,添加的记录的时候,需要给user_id 及dept_id 赋值
2、在xxxx Mapper.xml 里添加表别名,增加若依框架的sql串
这里的表别名t 将在服务层用到
3、在lmpl服务层,添加数据权限注解。注意:这里使用以上的t 别名
到此,业务功能的数据权限就算设置完成。以上就是要注意的点。那么,如果使用呢?
还是来到web端,系统管理->角色管理
点击更多,显示数据权限
这里有几种选择,
1、仅本人数据权限,说明自己看自己的。一般情况下这种最底层的操作人员;
2、部门经理,则只能看本部门人员的数据;
3、管理人员,那么可以看到本部门及以下的数据;
这种权限的直观可以通过部门结构树体现处理。
如果觉得简单好用,请点个赞,如果觉得有疑问,可以留言或者随时联系我本人,一起探讨,谢谢!!