- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在我的 Spring Boot 应用程序中,我有以下两个类:
@EnableWebSecurity
public class AppSecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private JwtAuthenticationFilter jwtAuthenticationFilter;
@Bean
@Override
public AuthenticationManager authenticationManagerBean() throws Exception {
return super.authenticationManagerBean();
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http
// TODO re-enable csrf after dev is done
.csrf()
.disable()
// we must specify ordering for our custom filter, otherwise it
// doesn't work
.addFilterAfter(jwtAuthenticationFilter,
UsernamePasswordAuthenticationFilter.class)
// we don't need Session, as we are using jwt instead. Sessions
// are harder to scale and manage
.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS);
}
}
和:
@Component
public class JwtAuthenticationFilter extends
AbstractAuthenticationProcessingFilter {
/*
* we must set authentication manager for our custom filter, otherwise it
* errors out
*/
@Override
@Autowired
public void setAuthenticationManager(
AuthenticationManager authenticationManager) {
super.setAuthenticationManager(authenticationManager);
}
}
JwtAuthenticationFilter
通过其 setAuthenticationManager
方法依赖于 AuthenticationManager
bean,但该 bean 是在 AppSecurityConfig
中创建的有 JwtAuthenticationFilter
Autowiring 。这整个事情创建了一个循环依赖。我该如何解决这个问题?
最佳答案
我按照此处的建议解决了这个问题: Cannot pass AuthenticationManager to custom filter by @Autowired
我从 JwtAuthenticationFilter
中删除了 @Component
而不是将 JwtAuthenticationFilter
Autowiring 到 WebSecurityConfig
类,我定义了 bean那里:
@Bean
public JwtAuthenticationFilter JwtAuthenticationFilter() {
return new JwtAuthenticationFilter();
}
关于java - AuthenticationProcessingFilter 和 WebSecurityConfigurerAdapter 导致循环依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52510873/
在我的 Spring Boot 应用程序中,我有以下两个类: @EnableWebSecurity public class AppSecurityConfig extends WebSecurity
我找不到 AuthenticationProcessingFilter从 Spring 2 迁移时至 Spring 3 (使用 Spring 芯) 最佳答案 此类已在 Spring security
我尝试在 RESTful 应用程序中通过 token 授权配置 Spring Security。 我的 AuthenticationFilter 看起来像: @Configurable public
我有这样的类层次结构 public class AccessHistoryJpaDAO extends PaginatedJpaDAO implements AccessHistoryDAO 在Acc
Spring security (2.0.x) http 命名空间,表单登录定义自动使用 AuthenticationProcessingFilter。 我也知道如果我设置 auto-config=
我是一名优秀的程序员,十分优秀!