若依开源框架中数据权限的使用及配置

   若依开源项目在线文档:介绍 | RuoYi     

  若依开源项目 Vue 前后端分离版本:RuoYi-Vue: 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本 

        在使用若依(RuoYi) 开源项目搭建自己的应用系统时,整个过程非常简便且高效,系统运行起来也比较流畅,得益于若依项目背后开发人员的默默付出,再次对他们表示感谢!!

       在使用过程中,功能上的权限及按钮级别的权限已经做得相当成熟,直接操作几次就可以使用。但是,对于数据隔离问题,也就是不同角色的用户拥有的数据权限问题,虽然文档也有描述,也有一个现成的例子,但是没有结果业务功能,看得有点不太好理解,我这里直接举例业务功能的例子,帮助朋友们根据自己业务去做调整,完成数据权限的使用,能够满足业主的需求。

        首先,在建立业务功能数据库表的时候,需要添加user_id及dept_id,这里的user_id 表示这个表的记录由谁创建的,dept_id 其实创建人的部门id,这两个字段需要在每一个需要用到数据权限的业务功能表加上,例如我这里的业务功能表

若依开源框架中数据权限的使用及配置_第1张图片

 创建脚本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端同步数据库,并自动生成代码

若依开源框架中数据权限的使用及配置_第2张图片

生成代码文件后,结构如下:

若依开源框架中数据权限的使用及配置_第3张图片把相关的模块放入自己项目后,有几个地方需要修改,如下:

1、在Controller模块,添加的记录的时候,需要给user_id 及dept_id 赋值

若依开源框架中数据权限的使用及配置_第4张图片 

2、在xxxx Mapper.xml 里添加表别名,增加若依框架的sql串

若依开源框架中数据权限的使用及配置_第5张图片

 这里的表别名t 将在服务层用到

3、在lmpl服务层,添加数据权限注解。注意:这里使用以上的t 别名

若依开源框架中数据权限的使用及配置_第6张图片

到此,业务功能的数据权限就算设置完成。以上就是要注意的点。那么,如果使用呢?

还是来到web端,系统管理->角色管理

若依开源框架中数据权限的使用及配置_第7张图片

 点击更多,显示数据权限

若依开源框架中数据权限的使用及配置_第8张图片

这里有几种选择,

1、仅本人数据权限,说明自己看自己的。一般情况下这种最底层的操作人员;

2、部门经理,则只能看本部门人员的数据;

3、管理人员,那么可以看到本部门及以下的数据;

这种权限的直观可以通过部门结构树体现处理。

如果觉得简单好用,请点个赞,如果觉得有疑问,可以留言或者随时联系我本人,一起探讨,谢谢!!

 

 

 

你可能感兴趣的:(若依数据权限,java,maven,数据库开发,intellij,idea)