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);
相关文章
|
Java API Maven
敏感数据的保护伞——SpringBoot Jasypt加密库的使用
我们经常会在yml配置文件中存放一些敏感数据,比如数据库的用户名、密码,第三方应用的秘钥等等。这些信息直接以明文形式展示在文件中,无疑是存在较大的安全隐患的,所以今天这篇文章,我会借助jasypt实现yml文件中敏感信息的加密处理。
5554 1
敏感数据的保护伞——SpringBoot Jasypt加密库的使用
|
开发工具
阿里云百炼应用中心--QuickStart
针对阿里云最新推出的大模型平台:百炼,试用其应用中心的功能,通过Step By Step详细演示该产品的使用。
1232 1
SVN 将文件还原到之前的指定版本
SVN 将文件还原到之前的指定版本
3326 1
SVN 将文件还原到之前的指定版本
|
8月前
|
安全 Java 数据库
第16课:Spring Boot中集成 Shiro
第16课:Spring Boot中集成 Shiro
946 0
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
4402 31
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
8月前
|
运维 Kubernetes Devops
2025年10款主流开源自动化部署工具介绍
随着企业数字化转型加速,DevOps理念普及,自动化部署工具成为提升软件交付效率的关键。本文盘点2025年最具代表性的10款开源部署工具,涵盖从中小企业到大型企业的多样化需求,助力技术团队精准选型,打造高效、稳定的持续交付体系。
2233 0
|
9月前
|
SQL JSON 前端开发
较为完整的SpringBoot项目结构
本文介绍了SpringBoot项目的分层结构与目录组成。项目分为四层:**controller层**(前端交互)、**service层**(业务逻辑处理)、**dao层**(数据库操作)和**model层**(实体类定义)。分层设计旨在实现关注点分离,降低耦合度,提高系统灵活性、可维护性和扩展性。此外,还详细说明了项目目录结构,包括`controller`、`service`、`dao`、`entity`、`param`、`util`等子目录的功能划分,便于团队协作开发。此架构有助于前后端分离,明确各模块职责,符合高内聚低耦合的设计原则。
5625 1
|
12月前
|
人工智能 自然语言处理 前端开发
20分钟上手DeepSeek开发:SpringBoot + Vue2快速构建AI对话系统
本文介绍如何使用Spring Boot3与Vue2快速构建基于DeepSeek的AI对话系统。系统具备实时流式交互、Markdown内容渲染、前端安全防护等功能,采用响应式架构提升性能。后端以Spring Boot为核心,结合WebFlux和Lombok开发;前端使用Vue2配合WebSocket实现双向通信,并通过DOMPurify保障安全性。项目支持中文语义优化,API延迟低,成本可控,适合个人及企业应用。跟随教程,轻松开启AI应用开发之旅!
|
安全 应用服务中间件 网络安全
免费ip地址https证书申请方法
IP SSL证书用于保障IP地址与浏览器间的数据传输安全,多数需付费购买。JoySSL现提供免费试用版,申请流程包括:访问官网、注册账号(需输入特定注册码230922)、选择证书类型、填写申请信息、验证IP控制权、等待审核、下载及部署证书。确保IP地址独立可控,信息准确,及时续期。
|
负载均衡 监控 Java
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
28866 8
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控

热门文章

最新文章