1 回答
TA贡献1818条经验 获得超11个赞
Caused by: org.springframework.security.config.annotation.AlreadyBuiltException: This object has already been built
at org.springframework.security.config.annotation.AbstractSecurityBuilder.build(AbstractSecurityBuilder.java:44) ~[spring-security-config-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.security.config.annotation.web.builders.WebSecurity.performBuild(WebSecurity.java:294) ~[spring-security-config-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.security.config.annotation.web.builders.WebSecurity.performBuild(WebSecurity.java:79) ~[spring-security-config-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.security.config.annotation.AbstractConfiguredSecurityBuilder.doBuild(AbstractConfiguredSecurityBuilder.java:334) ~[spring-security-config-5.1.4.RELEASE.jar:5.1.4.RELEASE]
当HttpSecurity#build()每个实例被调用多次时,就会发生这种情况。HttpSecurity#build()配置时不需要调用,HttpSecurity因为 spring security 会在后台调用它。所以删除应该可以build()解决configure(HttpSecurity http)问题:
@Override
public void configure(HttpSecurity http) throws Exception {
http.csrf().disable().authorizeRequests()
.antMatchers("/*/inserir").hasAuthority(ROLE_ULTRA)
.anyRequest().authenticated()
.and().formLogin();
}
添加回答
举报
