@Configuration
@Order(value=99)
@EnableWebSecurity
@ConditionalOnMissingBean(type="top.dcenter.ums.security.common.config.SecurityCoreAutoConfigurer")
public class SecurityCoreAutoConfigurer
extends org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter
spring cloud: 2020.0.0 和 spring 2.4.x 集成时, 因配置文件的加载方式发送变化,
当使用 spring.factories 加载此类时, 会有如下错误提示:
Found WebSecurityConfigurerAdapter as well as SecurityFilterChain. Please select just one .
解决方案:
// 第一种方案: 使用 spring.factories 加载此类, 再添加下面空的WebSecurityConfigurerAdapter配置类, // 阻止 spring 自动加载方式默认的WebSecurityConfigurerAdapter配置. // 适合引入了top.dcenter:ums-core-spring-boot-starter或top.dcenter:ums-spring-boot-starter模块@Configurationpublic class WebSecurityAutoConfigurer extends WebSecurityConfigurerAdapter { } // 第二种方案: 不使用 spring.factories 加载此类, 直接注册此类到 IOC 容器. // 适合所有模块.@Configurationpublic class WebSecurityAutoConfigurer {@Beanpublic SecurityCoreAutoConfigurer securityCoreAutoConfigurer() { return new SecurityCoreAutoConfigurer(); } }
| 构造器和说明 |
|---|
SecurityCoreAutoConfigurer() |
| 限定符和类型 | 方法和说明 |
|---|---|
org.springframework.security.authentication.AuthenticationManager |
authenticationManagerBean() |
protected void |
configure(org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder auth) |
protected void |
configure(org.springframework.security.config.annotation.web.builders.HttpSecurity http) |
void |
configure(org.springframework.security.config.annotation.web.builders.WebSecurity web) |
authenticationManager, getApplicationContext, getHttp, init, setApplicationContext, setAuthenticationConfiguration, setContentNegotationStrategy, setObjectPostProcessor, setTrustResolver, userDetailsService, userDetailsServiceBeanpublic void configure(org.springframework.security.config.annotation.web.builders.WebSecurity web)
configure 在接口中 org.springframework.security.config.annotation.SecurityConfigurer<javax.servlet.Filter,org.springframework.security.config.annotation.web.builders.WebSecurity>configure 在类中 org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapterprotected void configure(org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder auth)
throws Exception
configure 在类中 org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapterExceptionprotected void configure(org.springframework.security.config.annotation.web.builders.HttpSecurity http)
throws Exception
configure 在类中 org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapterExceptionCopyright © 2021. All rights reserved.