Java 无法自动连线。没有';AuthenticationProvider';找到的类型
我无法在SecurityConfig类中自动连接AuthenticationProvider Spring framework实例。这很奇怪,因为我已经包含了必要的导入,并且UserDetailsService(另一个Spring框架类)可以自动连接而没有任何问题。这是我的代码:Java 无法自动连线。没有';AuthenticationProvider';找到的类型,java,spring,spring-boot,kotlin,spring-security,Java,Spring,Spring Boot,Kotlin,Spring Security,我无法在SecurityConfig类中自动连接AuthenticationProvider Spring framework实例。这很奇怪,因为我已经包含了必要的导入,并且UserDetailsService(另一个Spring框架类)可以自动连接而没有任何问题。这是我的代码: import org.springframework.beans.factory.annotation.Autowired import org.springframework.context.annotation.B
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.security.authentication.AuthenticationProvider
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity
import org.springframework.security.config.annotation.web.builders.HttpSecurity
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter
import org.springframework.security.core.userdetails.UserDetailsService
import org.springframework.security.web.authentication.RememberMeServices
import org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices
@Configuration
@EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true)
class SecurityConfig : WebSecurityConfigurerAdapter() {
companion object {
private const val REMEMBER_ME_KEY = "basdrwerdadev$#@safasfewrahl"
}
@Autowired private lateinit var authenticationProvider: AuthenticationProvider
@Autowired private lateinit var userDetailsService: UserDetailsService
...
也许我失去了一种依赖?我已经添加了Spring安全依赖项,我要检查的前两件事是:
i) 您的自定义身份验证提供程序是否注释为服务/组件(即spring是否可以查看和管理它?)
ii)它是否扩展了spring的AuthenticationManager接口?我的身份验证提供程序不是自定义的。我使用的是Spring提供的一个接口。Spring的AuthenticationProvider是Spring提供的一个接口,您可以使用自己的自定义逻辑实现它。我会尝试将AuthenticationProvider更改为spring提供的各种实现中的任何一种。如果可行,您可以选择最适合您的项目的接口,甚至可以自己实现该接口