Class SecurityContextService
java.lang.Object
com.elitesland.ystdms.sys.security.SecurityContextService
扩展的 Security 上下文服务
提供用户相关的扩展信息(员工、公司、组织等)的查询能力
这些信息通过 Feign 客户端调用 newsys 对应接口获取,并缓存以提高性能
-
Constructor Summary
ConstructorsConstructorDescriptionSecurityContextService(SysEmployeeFeignClient employeeFeignClient, SysOrgFeignClient orgFeignClient, SysOuFeignClient ouFeignClient, EmployeeFullInfoFeignClient employeeFullInfoFeignClient) -
Method Summary
Modifier and TypeMethodDescriptionvoid清除缓存voidclearUserCache(String username) 清除指定用户的缓存getAllOu()获取所有公司信息获取当前登录用户的员工信息获取当前用户所属的组织信息获取当前用户所属的公司信息getEmployee(String username) 获取指定用户的员工信息getEmployeeByMobile(String mobile) 根据手机号获取员工信息getEmployeeByUserId(UUID userId) 根据用户ID获取员工信息(支持 Feign 和本地查询复用)getEmployeeOrgs(UUID employeeId) 获取员工的所有部门信息(通过 sys_employee_org 关联表查询) 注意:由于目前没有直接的Feign接口,这里返回空列表,需要后续实现getExternalUserFullInfo(String username) 根据用户名获取外部用户完整信息(包含用户、员工、部门、角色) 用于外部系统 JWT 解析失败后,从内部系统获取用户信息getExternalUserFullInfoWithOrg(String username) 根据用户名获取用户完整信息,并将部门信息转换为 SysOrgRespRpcDTO 格式获取指定ID的组织信息
-
Constructor Details
-
SecurityContextService
public SecurityContextService(@Nullable SysEmployeeFeignClient employeeFeignClient, @Nullable SysOrgFeignClient orgFeignClient, @Nullable SysOuFeignClient ouFeignClient, @Nullable EmployeeFullInfoFeignClient employeeFullInfoFeignClient)
-
-
Method Details
-
getCurrentEmployee
获取当前登录用户的员工信息- Returns:
- 员工信息,如果未登录或查询失败则返回 null
-
getEmployee
获取指定用户的员工信息- Parameters:
username- 用户名- Returns:
- 员工信息,如果查询失败则返回 null
-
getEmployeeByUserId
根据用户ID获取员工信息(支持 Feign 和本地查询复用) -
getEmployeeByMobile
根据手机号获取员工信息 -
getCurrentOrg
获取当前用户所属的组织信息- Returns:
- 组织信息,如果未登录或查询失败则返回 null
-
getOrg
获取指定ID的组织信息- Parameters:
orgId- 组织ID- Returns:
- 组织信息,如果查询失败则返回 null
-
getEmployeeOrgs
获取员工的所有部门信息(通过 sys_employee_org 关联表查询) 注意:由于目前没有直接的Feign接口,这里返回空列表,需要后续实现- Parameters:
employeeId- 员工ID- Returns:
- 部门信息列表,如果查询失败则返回 null
-
getCurrentOu
获取当前用户所属的公司信息- Returns:
- 公司信息列表,如果未登录或查询失败则返回 null
-
getAllOu
获取所有公司信息- Returns:
- 公司信息列表,如果查询失败则返回 null
-
clearCache
public void clearCache()清除缓存 -
clearUserCache
清除指定用户的缓存- Parameters:
username- 用户名
-
getExternalUserFullInfo
根据用户名获取外部用户完整信息(包含用户、员工、部门、角色) 用于外部系统 JWT 解析失败后,从内部系统获取用户信息- Parameters:
username- 用户名- Returns:
- 用户完整信息,如果查询失败则返回 null
-
getExternalUserFullInfoWithOrg
根据用户名获取用户完整信息,并将部门信息转换为 SysOrgRespRpcDTO 格式- Parameters:
username- 用户名- Returns:
- 用户完整信息,如果查询失败则返回 null
-