gpt4 book ai didi

java - 为什么在 spring security 中不在 FilterChainProxy 中的过滤器上调用 init()?

转载 作者:行者123 更新时间:2023-12-05 07:58:03 25 4
gpt4 key购买 nike

我已将自己的过滤器配置为 spring security 中的 FilterChainProxy 的一部分。我很惊讶 init() 方法(从 Filter 接口(interface)实现)没有在这个过滤器上被调用。当我将过滤器从 FilterChainProxy 移到主链时,init() 方法按预期被调用

FilterChainProxy 是否以不同方式处理其过滤器?

一个引导说明:

我必须为 FilterRegistrationBean 提供 enabled=false 以避免注册到主过滤器链,但我不认为这是原因,因为我已经看到了行为在非启动应用程序中。

最佳答案

是的,FilterChainProxy 不会调用 init() 和 destroy() 方法。但对我来说这是必要的,所以我使用了 DelegatingFilterProxy,当它设置为 true 时,它​​确实有办法通过“targetFilterLifecycle”属性来改变它。这样 init() 和 destroy() 将照常调用。在这里阅读更多 - https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/filter/DelegatingFilterProxy.html

关于java - 为什么在 spring security 中不在 FilterChainProxy 中的过滤器上调用 init()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25570237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com