wangcaipang 2019-06-05
特别注意点: 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>
对具体的菜单进行数据权限过滤,请点击数据规则: (注意:请选择对应的功能菜单,数据权限过滤是根据菜单url进行过滤,因此不能选择父菜单和按钮)
添加数据权限:
详细说明:
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的数据记录。 - 备注信息:自定义。
选择角色->菜单权限->数据权限
说明:数据权限采用and,选择多个数据权限,数据显示是最小集合。