Java 代码分析:判断用户权限并获取部门信息
这段代码用于判断当前登录用户是否为管理员,如果不是,则会尝试获取指定部门信息。
代码首先判断当前登录用户是否为管理员,使用 SysUser.isAdmin(SecurityUtils.getUserId()) 方法进行判断。如果用户不是管理员,代码会创建一个 SysDept 对象,并设置其 deptId 属性为传入的 deptId 值。
然后,代码调用当前对象的 selectDeptList 方法,该方法会从数据库中查询指定 deptId 的部门数据并返回一个部门列表。
最后,代码判断返回的部门列表是否为空。如果为空,说明用户没有权限访问该部门,代码会抛出一个 ServiceException 异常,提示当前用户没有权限访问部门数据。
代码示例:
if (!SysUser.isAdmin(SecurityUtils.getUserId())) {
SysDept dept = new SysDept();
dept.setDeptId(deptId);
List<SysDept> depts = SpringUtils.getAopProxy(this).selectDeptList(dept);
if (StringUtils.isEmpty(depts)) {
throw new ServiceException('没有权限访问部门数据!');
}
}
代码解析:
SysUser.isAdmin(SecurityUtils.getUserId()): 判断当前登录用户是否为管理员。SysDept dept = new SysDept(): 创建一个SysDept对象。dept.setDeptId(deptId): 设置SysDept对象的deptId属性。SpringUtils.getAopProxy(this).selectDeptList(dept): 调用selectDeptList方法查询部门数据。StringUtils.isEmpty(depts): 判断部门列表是否为空。throw new ServiceException('没有权限访问部门数据!'): 抛出异常提示用户没有权限访问部门数据。
原文地址: https://www.cveoy.top/t/topic/qnGU 著作权归作者所有。请勿转载和采集!