类 JwtSecurityContextBootstrap
java.lang.Object
com.elitesland.ystdms.sys.security.JwtSecurityContextBootstrap
在非 HTTP 线程(任务、监听、单元流程等)中,按登录账号签发 JWT,并初始化与 Web 请求相同的
SecurityContextHolder / SecurityContext,便于 CurrentUserContext.fromSecurityContext() 等行为一致。-
构造器概要
构造器构造器说明JwtSecurityContextBootstrap(org.springframework.security.oauth2.jwt.JwtDecoder jwtDecoder, @Nullable JwtAuthClient jwtAuthClient, JwtAuthzConverter jwtAuthzConverter) -
方法概要
修饰符和类型方法说明voidapplyJwtToken(String bearerToken) 使用已有 JWT 字符串初始化安全上下文(等价于请求头携带同一 Bearer Token 且解析成功后的状态)。void清理当前线程上的 Spring Security 与自定义 SecurityContext(与过滤器 finally 一致)。establishSecurityContextFromUsername(String username) 根据登录账号调用JwtAuthClient.generateJwtByUsername(String),解码 JWT 并写入 SecurityContextHolder、SecurityContext,并加载本地 SysUser / SysEmployee(与jwtContextFilter一致)。voidrunWithUsername(String username, Runnable action) 先establishSecurityContextFromUsername(String),执行回调,最后在 finally 中清理线程上下文。
-
构造器详细资料
-
JwtSecurityContextBootstrap
public JwtSecurityContextBootstrap(org.springframework.security.oauth2.jwt.JwtDecoder jwtDecoder, @Nullable JwtAuthClient jwtAuthClient, JwtAuthzConverter jwtAuthzConverter)
-
-
方法详细资料
-
establishSecurityContextFromUsername
根据登录账号调用JwtAuthClient.generateJwtByUsername(String),解码 JWT 并写入 SecurityContextHolder、SecurityContext,并加载本地 SysUser / SysEmployee(与jwtContextFilter一致)。- 参数:
username- 登录账号- 返回:
- 本次签发的 JWT 字符串
-
applyJwtToken
使用已有 JWT 字符串初始化安全上下文(等价于请求头携带同一 Bearer Token 且解析成功后的状态)。- 参数:
bearerToken- JWT 串(不含Bearer前缀)
-
runWithUsername
先establishSecurityContextFromUsername(String),执行回调,最后在 finally 中清理线程上下文。 -
clearSecurityContext
public void clearSecurityContext()清理当前线程上的 Spring Security 与自定义 SecurityContext(与过滤器 finally 一致)。
-