用户与部门之间的关联,使用一张中间表进行关联,表名是:sys_role_dept,该表定义两个字段,一个是sys_user的主键,另外一个是sys_dept的主键,一个用户可以多个部门,所以这张表是一对多的关系 CREATE TABLE `sys_role_dept` ( `role_id` bigint(20) NOT NULL COMMENT '角色ID', `dept_id` bigint(20) NOT...
sys_role:对权限范围进行设置,具体见下图 sys_role_dept:对部门权限进行设置 sys_role_menu:将角色和菜单(sys_menu)进行关联 sys_user:记录登录用户信息 sys_user_post:将登录用户和岗位相关联 sys_user_role:将登录用户和权限相关联 权限相关表关系图示 ...
通过角色部门表(sys_role_dept)完成了数据权限过滤 and u.dept_id in ( select dept_id from sys_role_dept where role_id = 2 ) 注意 仅实体继承BaseEntity才会进行处理,SQL语句会存放到BaseEntity对象中的params属性中,然后在xml中通过${params.dataScope}获取拼接后的语句。 Shiro注解权限 控制 名称作用备注...
角色与部门对应关系表sys_role_dept 对于自定数据权限,需要配置当前角色能访问哪些部门的数据,因此需要一张对应关系表,来保存角色与部门的对应关系。 部门表sys_dept 对于本部门及以下数据,为了方便获取到当前部门的子部门,在系统部门表中增加了祖级列表字段ancestors。 这个字段怎么来辅助获取子部门呢?结合数据来...
sys_user_post:用户职位表,同样通过中间表sys_user_post关联用户和职位,允许用户拥有多个职位。sys_dept:系统部门表,定义部门信息。sys_role_dept:用户部门关联表,用户可以隶属于多个部门,也是多对多关系。sys_menu:系统菜单表,存储用户登录后显示的菜单配置。sys_role_menu:用户菜单权限表,通过...
" OR {}.dept_id IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} ) ", deptAlias, role.getRoleId())); } //本部门数据权限 else if (DATA_SCOPE_DEPT.equals(dataScope)) { sqlString.append(StringUtils.format(" OR {}.dept_id = {} ", deptAlias, user.getDeptId()));...
from sys_user u left join sys_dept d on u.dept_id = d.dept_id left join sys_user_role ur on u.user_id = ur.user_id left join sys_role r on r.role_id = ur.role_id where u.del_flag = '0' and r.role_id = #{roleId} ...
sys_logininfor:登录信息表 sys_menu:菜单表 sys_notice:系统通知表 sys_oper_log:执行日志表 sys_post:岗位表 sys_role:角色表 sys_role_dept:角色和部门关系表 sys_role_menu:角色和菜单关系表 sys_user:用户表 sys_user_post:用户和岗位关系表 ...
单点漏洞代码审计首当其冲当然要先看SQL注入漏洞是否存在,全局搜索关键字 $ ,并限定文件类型为 .xml ,发现 sysDeptMapper.xml 和 sysUserMapper.xml 有存在SQL注入的地方,如下图所示: ①、点击进入 SysRoleMapper.xml ,SQL注入点在第58行,使用 $ 直接拼接了参 数,如下图所示: ...
(SysRolerole:user.getRoles()){StringdataScope=role.getDataScope();if(DATA_SCOPE_ALL.equals(dataScope)){sqlString=newStringBuilder();break;}elseif(DATA_SCOPE_CUSTOM.equals(dataScope)){sqlString.append(StringUtils.format(" OR {}.dept_id IN ( SELECT dept_id FROM sys_role_dept WHERE role_id ...