无法在 Spring Boot 2.0.0 中自动装配身份验证管理器
Posted
技术标签:
【中文标题】无法在 Spring Boot 2.0.0 中自动装配身份验证管理器【英文标题】:Could not autowire authentication manager in Spring Boot 2.0.0 【发布时间】:2018-08-27 03:53:38 【问题描述】:所以我一直在尝试在一个简单的 Spring MVC 应用程序中实现 oAuth2。
在我关注的指南中,在他们的AuthorizationServerConfigurerAdapter
他们@Autowired
和AuthenticationManager
。他们使用 Spring Boot 1.5.2 版。
我想使用 Spring Boot 2.0.0,因为这是最新版本,所以我想学习最新的实践。但是,当我更改时,在我的 pom.xml 中:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
到:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
突然之间,我无法自动连接AuthenticationManager
。
Could not autowire. No beans of 'AuthenticationManager' type found.
有人能想出解决办法吗?
谢谢!
【问题讨论】:
没有可用的解决方案。 【参考方案1】:如果您想继续使用引导启动程序包,根据release notes,您需要覆盖WebSecurityConfigurerAdapter
内的authanticationManagerBean
方法。
这里的代码示例:
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter
@Bean
@Override
public AuthenticationManager authenticationManagerBean() throws Exception
return super.authenticationManagerBean();
【讨论】:
太棒了!谢谢s2以上是关于无法在 Spring Boot 2.0.0 中自动装配身份验证管理器的主要内容,如果未能解决你的问题,请参考以下文章
Spring cloud starter 任务:无法在 Spring boot 2.x 上工作
从 Spring Boot 1.5.10 迁移到 2.0.0 时无法解析依赖项
使用 JPA 的 Spring Boot 2.0.0.SNAPSHOT 或 2.0.0.RC1 无法启动
Spring-boot 是不是改变了通过@GeneratedValue 自动增加 id 的方式?
spring boot 2.0.0 + mybatis 报:Property 'sqlSessionFactory' or 'sqlSessionTemplate' a
NoSuchBeanDefinitionException:PlatformTransactionManager 在 Spring Boot 2.0.0.M6 中运行 Junit 测试