java设计全局的数据权限,别人全局数据权限设计思路,很不错,分享

1 数据权限

特别注意点: 1 数据权限过滤只针对表格(bootstrapTable), 对tree和treetable无效。 2 数据权限对admin用户无效,admin是超级管理员,默认拥有上帝视角。请使用其他用户测试数据权限。

jeeplus支持数据行级权限,可以通过角色配置,灵活的设置用户可以看见的数据,比如只能看见自己创建的数据等等。 数据权限的原理:动态生成sql语句,作为查询条件,添加到findList的where条件中,即dataScope。

1
2
3
4
5
6
7
 SELECT 
			<include refid="leaveDialogColumns"></include>
		FROM test_form_leave a
		<where>
			a.del_flag = #{DEL_FLAG_NORMAL}
			${dataScope}
		</where>

2 添加数据规则

对具体的菜单进行数据权限过滤,请点击数据规则: (注意:请选择对应的功能菜单,数据权限过滤是根据菜单url进行过滤,因此不能选择父菜单和按钮) java设计全局的数据权限,别人全局数据权限设计思路,很不错,分享

添加数据权限: java设计全局的数据权限,别人全局数据权限设计思路,很不错,分享

详细说明:

1
2
3
4
5
6
7
- 数据规则名称:自定义名字。
- 规则实体类:该功能菜单对应的实体类,例如User(请注意类名不要添加包路径)。
- 规则字段: 要进行过滤的数据库字段,比如create_by,记录的创建者。(注意:是数据库中的字段,非java属性)。
- 规则条件:大于(>),等于(=),小于等于(<=),模糊匹配(like)等等。
- 规则值:可以传入具体的值,比如 1,2,“abc”等等。 也可以传输动态参数值,#{currentUser.id},  currentUser表示当前登录的用户。
- 自定义sql:可以添加自定义sql语句,添加自定义sql时,规则字段和规则条件和规则值可以留空。例如(a.name IS 'test'), 仅展现name是test的数据记录。
- 备注信息:自定义。

3 设置角色

选择角色->菜单权限->数据权限 java设计全局的数据权限,别人全局数据权限设计思路,很不错,分享

说明:数据权限采用and,选择多个数据权限,数据显示是最小集合。

4 将角色分配给要使用数据权限的用户。

java设计全局的数据权限,别人全局数据权限设计思路,很不错,分享

5 下面给几个添加数据权限的例子

例一:年龄大于等于20岁

java设计全局的数据权限,别人全局数据权限设计思路,很不错,分享

例二:自定义sql

java设计全局的数据权限,别人全局数据权限设计思路,很不错,分享

相关推荐