boot 中自定义shiro过滤器的拦截顺序

简介: @boot 中filter SecurityUtils.getSubject()No SecurityManager accessible

场景

   *  在spring boot +spring shiro 
   *   自定义filter的拦截器 并从doFilter中调用 SecurityUtils.getSubject().getPrincipal() 
   *   抛出
   *   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.



解决方案

@Bean(“shiroFilter”)
public ShiroFilterFactoryBean shirFilter(SecurityManager securityManager) {
}


无标题.png


  • 注意!上图是关键 (相当于web.xml中定义shiro的执行顺序)


相关文章
|
6月前
|
Java Spring 容器
[JavaWeb]——过滤器filter与拦截器Interceptor的使用、执行过程、区别
[JavaWeb]——过滤器filter与拦截器Interceptor的使用、执行过程、区别
104 0
|
6月前
|
存储 Java Maven
springboot项目中使用shiro 自定义过滤器和token的方式
springboot项目中使用shiro 自定义过滤器和token的方式
140 1
|
6月前
|
Java 数据安全/隐私保护
Filter概述、执行流程、拦截路径配置及过滤器链
Filter概述、执行流程、拦截路径配置及过滤器链
84 0
|
存储 安全 NoSQL
SpringSecurity 核心过滤器——CsrfFilter
Spring Security除了认证授权外功能外,还提供了安全防护功能。本文我们来介绍下SpringSecurity中是如何阻止CSRF攻击的。
253 0
|
Java 容器
过滤器和拦截器的区别
Filter 也称为过滤器,基于Servlet实现,拦截器(Interceptor)是一种动态拦截方法调用的机制,在SpringMVC中动态拦截控制器方法的执行,基于AOP思想,对方法进行增强。和servlet 中的过滤器类似,都是对用户请求进行处理。
81 0
|
存储 安全 Java
SpringSecurity 核心过滤器——SecurityContextPersistenceFilter
SecurityContextHolder,这个是一个非常基础的对象,存储了当前应用的上下文SecurityContext,而在SecurityContext可以获取Authentication对象。也就是当前认证的相关信息会存储在Authentication对象中。
165 0
|
SQL 监控 前端开发
Springboot过滤器和拦截器详解及使用场景
过滤器和拦截器触发时机不一样,过滤器是在请求进入容器后,但请求进入servlet之前进行预处理的。请求结束返回也是,是在servlet处理完后,返回给前端之前。
|
Java Spring
Spring Boot 监听器、拦截器以及过滤器的作用、差异?
Spring Boot 监听器、拦截器以及过滤器的作用、差异?
220 0