若依框架的数据权限实现逻辑

原理:用户访问接口 → Controller接收请求 → 调用Service层方法 → AOP拦截(DataScopeAspect类) → 动态修改SQL → 执行查询

Service中在函数上添加注释:
@DataScope(deptAlias = "d", userAlias = "u")
public List<SysUser> selectUserList(SysUser user){
    return userMapper.selectUserList(user);
}

Mapper XML末尾中引用权限条件:
<select id="selectUserList" resultType="User">
    SELECT * FROM sys_user u
    LEFT JOIN sys_dept d ON u.dept_id = d.dept_id
    WHERE 1=1
    ${params.dataScope}
</select>

点击数:15
创建时间:2026-03-06 14:17:08
更新时间:2026-03-06 14:17:08