Python 官方文档:入门教程 => 点击学习
目录Filter和Filter Chainidea Evalute Expression创建工程debug启动服务evaluate expression总结Filter和Filter
springSecurity的认证逻辑是通过Filter Chain实现的,一个项目中Filter是链式执行,其中一环校验不通过,则可终止后续Filter以及api的调用。
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException;
在Filter的实现类中,doFilter方法里调用chain的doFilter方法,表示当前过滤器通过,继续FilterChain的下一个Filter
chain.doFilter(request, response);
下面通过一个简单的项目,来查看一下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();是为了便于打断点,查看applicationContext的信息。
通过邮件选Evaluate Expression或点击debugger栏位上是图标
点击输入框右侧的双向箭头,切换为Code fragment模式,个人觉得这个更好用
输入以下内容,获取容器中的FilterChainProxy对象,再点击窗口下侧的Evaluate
result中的filterChains中的filters就是Filter链信息,其中,UsernamePassWordAuthenticationFilter、ExceptionTranslationFilter
以及FilterSecurityInterceptor为springSecurity认证相关的Filter。
在平时debug时,如果list中的数据很多,凭肉眼去找肯定很难找,通过右键对象出来的filter很难用,可以通过Evaluate进行代码过滤,方便又快捷。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
--结束END--
本文标题: Idea中如何查看SpringSecurity各Filter信息
本文链接: https://www.lsjlt.com/news/176408.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0