开发者

Idea中如何查看SpringSecurity各Filter信息

目录
  • Filter和Filter Chain
  • Idea Evalute Expression
    • 创建工程
    • debug启动服务
    • evaLuate expression
  • 总结

    Filter和Filter Chain

    SpringSecurity的认证逻辑是通过Filter Chain实现的,一个项目中Filter是链式www.devze.com执行,其中一环校验不通过,则可终止后续Filter以及Api的调用。

      public pythonvoid doFilter(ServletRequest request, ServletResponse response,flvaWXC
          FilterChain chain) throws IOException, ServletException;

    在Filter的实现类中,doFilter方法里调用chain的doFilter方法,表示当前过滤器通过,继续FilterChain的下一个Filter

    chain.doFilter(request, response);

    Idea Evalute Expression

    下面通过一个简单的项目,来查看一下Spring Security中的Filter

    创建工程

    通过向导创建一个springBoot工程,引入web和security依赖

        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

    启动类 

    @SpringBootApplication
    public class SpringSecurityLearningApplication {
      public static void main(String[] args) {
        ConfigurableApplicationContext applicationContext = SpringApplication.run(SpringSecurityLearningApplication.class, args);
        System.out.println();
      }
    
    }

    SpringApplication.run()的返回值就是Spring容器,ConfigurableApplicationContext是ApplicationContext的子类。

    System.out.println();是为了便于打断点,查看appli开发者_开发学习cationContext的信息。

    debug启动服务

    Idea中如何查看SpringSecurity各Filter信息

    evaluate expression

    通过邮件选Evaluate Expression或点击debugger栏位上是图标

    Idea中如何查看SpringSecurity各Filter信息

    点击输入框右侧的双向箭头,切换为Code fragment模式,个编程客栈人觉得这个更好用

    输入以下内容,获取容器中的FilterChainProxy对象,再点击窗口下侧的Evaluate

    Idea中如何查看SpringSecurity各Filter信息

    result中的filterChains中的filters就是Filter链信息,其中,UsernamePasswordAuthenticationFilter、ExceptionTjsranslationFilter

    以及FilterSecurityInterceptor为springSecurity认证相关的Filter。

    在平时debug时,如果list中的数据很多,凭肉眼去找肯定很难找,通过右键对象出来的filter很难用,可以通过Evaluate进行代码过滤,方便又快捷。

    Idea中如何查看SpringSecurity各Filter信息

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。 

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新开发

    开发排行榜