Shiro用户鉴权框架 子线程获取不到用户信息问题解决

简介: Shiro用户鉴权框架 子线程获取不到用户信息问题解决

报错:

ERROR o.a.c.c.C.[.[localhost].[/].[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] threw exception
org.apache.shiro.UnavailableSecurityManagerException: No SecurityManager accessible to the calling code, either bound to the org.apache.shiro.util.ThreadContext or as a vm static singleton.  This is an invalid application configuration.
  at org.apache.shiro.SecurityUtils.getSecurityManager(SecurityUtils.java:123)
  at org.apache.shiro.subject.Subject$Builder.<init>(Subject.java:626)
  at org.apache.shiro.SecurityUtils.getSubject(SecurityUtils.java:56)

解决:

// 当前登录用户信息
Subject subject = SecurityUtils.getSubject();
Runnable work = new Runnable() {
    @Override
    public void run() {
        System.out.println("用户信息:" + JSON.toJSONString(ShiroUtils.getUserEntity()));
    }
};
// 与子线程关联
work = subject.associateWith(work);
Executor executor = Executors.newCachedThreadPool();
// 执行
executor.execute(work);
相关文章
|
6天前
|
缓存 算法 Java
Shiro【散列算法、Shiro会话、退出登录 、权限表设计、注解配置鉴权 】(五)-全面详解(学习总结---从入门到深化)
Shiro【散列算法、Shiro会话、退出登录 、权限表设计、注解配置鉴权 】(五)-全面详解(学习总结---从入门到深化)
64 0
Shiro【散列算法、Shiro会话、退出登录 、权限表设计、注解配置鉴权 】(五)-全面详解(学习总结---从入门到深化)
|
6天前
|
SQL 数据安全/隐私保护
带token的多用户登录(注册直接粗暴解决)
带token的多用户登录(注册直接粗暴解决)
带token的多用户登录(注册直接粗暴解决)
|
7月前
11 Shrio 授权流程
11 Shrio 授权流程
18 0
|
7月前
|
Java
08 Shrio 授权的三种方式
08 Shrio 授权的三种方式
25 1
|
7月前
|
安全 API
04 Shrio身份认证流程
04 Shrio身份认证流程
26 0
04 Shrio身份认证流程
|
9月前
|
安全 Java 数据库
Sping Security-3-动态认证用户信息
Sping Security-3-动态认证用户信息
104 1
|
存储 缓存 数据安全/隐私保护
Jasny SSO是如何处理用户会话的?底层原理是什么?
Jasny SSO是如何处理用户会话的?底层原理是什么?
|
存储 SQL 安全
OAuth2.0实战(三)用户信息加载
OAuth2.0实战(三)用户信息加载
235 0
OAuth2.0实战(三)用户信息加载
|
存储 缓存 安全
Shiro安全框架——【快速入门、登录拦截、用户认证、请求授权】
Shiro安全框架——【快速入门、登录拦截、用户认证、请求授权】
Shiro安全框架——【快速入门、登录拦截、用户认证、请求授权】