Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot 在Springboot 2.0中启用Oauth2(基本密码授予类型),OAuth2LoginAuthenticationFilter类未找到错误_Spring Boot_Spring Security Oauth2 - Fatal编程技术网

Spring boot 在Springboot 2.0中启用Oauth2(基本密码授予类型),OAuth2LoginAuthenticationFilter类未找到错误

Spring boot 在Springboot 2.0中启用Oauth2(基本密码授予类型),OAuth2LoginAuthenticationFilter类未找到错误,spring-boot,spring-security-oauth2,Spring Boot,Spring Security Oauth2,我正在使用spring boot 2.0和spring security 5.0+创建基于oauth2.0的身份验证服务器。当tomcat启动时,即使spring-security-oauth2-client位于类路径中,我也会遇到以下错误,如下所示 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security<

我正在使用spring boot 2.0和spring security 5.0+创建基于oauth2.0的身份验证服务器。当tomcat启动时,即使spring-security-oauth2-client位于类路径中,我也会遇到以下错误,如下所示

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security.oauth.boot</groupId>
<artifactId>spring-security-oauth2-autoconfigure</artifactId>
<version>2.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security.oauth</groupId>
<artifactId>spring-security-oauth2</artifactId>
<version>2.3.0.RELEASE</version>
</dependency> 
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-oauth2-client</artifactId>
</dependency>

Caused by: java.lang.ClassNotFoundException: org.springframework.security.oauth2.client.web.OAuth2LoginAuthenticationFilter
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[?:1.8.0_111]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_111]
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[?:1.8.0_111]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_111]
    at org.springframework.security.config.annotation.web.builders.HttpSecurity.oauth2Login(HttpSecurity.java:991) ~[spring-security-config-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at com.oauth.oauthserver.DemoSecurityConfig.configure(DemoSecurityConfig.java:39) ~[classes/:?]
    at org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter.getHttp(WebSecurityConfigurerAdapter.java:230) ~[spring-security-config-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter.init(WebSecurityConfigurerAdapter.java:321) ~[spring-security-config-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter.init(WebSecurityConfigurerAdapter.java:92) ~[spring-security-config-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at com.oauth.oauthserver.DemoSecurityConfig$$EnhancerBySpringCGLIB$$34fbb215.init(<generated>) ~[classes/:?]
    at org.springframework.security.config.annotation.AbstractConfiguredSecurityBuilder.init(AbstractConfiguredSecurityBuilder.java:371) ~[spring-security-config-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.security.config.annotation.AbstractConfiguredSecurityBuilder.doBuild(AbstractConfiguredSecurityBuilder.java:325) ~[spring-security-config-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.security.config.annotation.AbstractSecurityBuilder.build(AbstractSecurityBuilder.java:41) ~[spring-security-config-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration.springSecurityFilterChain(WebSecurityConfiguration.java:104) ~[spring-security-config-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration$$EnhancerBySpringCGLIB$$581ced26.CGLIB$springSecurityFilterChain$4(<generated>) ~[spring-security-config-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration$$EnhancerBySpringCGLIB$$581ced26$$FastClassBySpringCGLIB$$3be2fd03.invoke(<generated>) ~[spring-security-config-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) ~[spring-core-5.0.5.RELEASE.jar:5.0.5.RELEASE]
    at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:361) ~[spring-context-5.0.5.RELEASE.jar:5.0.5.RELEASE]
    at org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration$$EnhancerBySpringCGLIB$$581ced26.springSecurityFilterChain(<generated>) ~[spring-security-config-5.0.4.RELEASE.jar:5.0.4.RELEASE]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_111]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_111]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_111]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_111]
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.0.5.RELEASE.jar:5.0.5.RELEASE]
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:579) ~[spring-beans-5.0.5.RELEASE.jar:5.0.5.RELEASE]
    ... 20 more

org.springframework.boot
弹簧启动安全
org.springframework.security.oauth.boot
spring-security-oauth2-autoconfigure
2.0.0.1版本
org.springframework.security.oauth
spring-security-oauth2
2.3.0.1发布
org.springframework.security
spring-security-oauth2-client
原因:java.lang.ClassNotFoundException:org.springframework.security.oauth2.client.web.OAuth2LoginAuthenticationFilter
在java.net.URLClassLoader.findClass(URLClassLoader.java:381)~[?:1.8.0_111]
在java.lang.ClassLoader.loadClass(ClassLoader.java:424)~[?:1.8.0_111]
在sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)~[?:1.8.0_111]
在java.lang.ClassLoader.loadClass(ClassLoader.java:357)~[?:1.8.0_111]
在org.springframework.security.config.annotation.web.builders.HttpSecurity.oauth2Login(HttpSecurity.java:991)~[spring-security-config-5.0.4.RELEASE.jar:5.0.4.RELEASE]
在com.oauth.oauthserver.DemoSecurityConfig.configure(DemoSecurityConfig.java:39)~[classes/:?]
在org.springframework.security.config.annotation.web.configuration.websecurityConfigureAdapter.getHttp(websecurityConfigureAdapter.java:230)~[spring-security-config-5.0.4.RELEASE.jar:5.0.4.RELEASE]
在org.springframework.security.config.annotation.web.configuration.websecurityConfigureAdapter.init(websecurityConfigureAdapter.java:321)~[spring-security-config-5.0.4.RELEASE.jar:5.0.4.RELEASE]
在org.springframework.security.config.annotation.web.configuration.websecurityConfigureAdapter.init(websecurityConfigureAdapter.java:92)~[spring-security-config-5.0.4.RELEASE.jar:5.0.4.RELEASE]
在com.oauth.oauthserver.DemoSecurityConfig$$EnhancerBySpringCGLIB$$34fbb215.init()~[classes/:?]
在org.springframework.security.config.annotation.AbstractConfiguredSecurityBuilder.init(AbstractConfiguredSecurityBuilder.java:371)~[spring-security-config-5.0.4.RELEASE.jar:5.0.4.RELEASE]
在org.springframework.security.config.annotation.AbstractConfiguredSecurityBuilder.doBuild(AbstractConfiguredSecurityBuilder.java:325)~[spring-security-config-5.0.4.RELEASE.jar:5.0.4.RELEASE]
在org.springframework.security.config.annotation.AbstractSecurityBuilder.build(AbstractSecurityBuilder.java:41)~[spring-security-config-5.0.4.RELEASE.jar:5.0.4.RELEASE]
在org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration.springSecurityFilterChain(WebSecurityConfiguration.java:104)~[spring-security-config-5.0.4.RELEASE.jar:5.0.4.RELEASE]
在org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration$$EnhancerBySpringCGLIB$$581ced26.CGLIB$springSecurityFilterChain$4()~[spring-security-config-5.0.4.RELEASE.jar:5.0.4.RELEASE]
在org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration$$EnhancerBySpringCGLIB$$581ced26$$FastClassBySpringCGLIB$$3be2fd03.invoke()~[spring-security-config-5.0.4.RELEASE.jar:5.0.4.RELEASE]
在org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)~[spring-core-5.0.5.RELEASE.jar:5.0.5.RELEASE]
在org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:361)~[spring-context-5.0.5.RELEASE.jar:5.0.5.RELEASE]
在org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration$$EnhancerBySpringCGLIB$$581ced26.springSecurityFilterChain()~[spring-security-config-5.0.4.RELEASE.jar:5.0.4.RELEASE]
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)~[?:1.8.0_111]
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)~[?:1.8.0_111]
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)~[?:1.8.0111]
在java.lang.reflect.Method.invoke(Method.java:498)~[?:1.8.0_111]
在org.springframework.beans.factory.support.SimpleInstallationStrategy.instantiate(SimpleInstallationStrategy.java:154)~[spring-beans-5.0.5.RELEASE.jar:5.0.5.RELEASE]
在org.springframework.beans.factory.support.ConstructorResolver.InstanceUsingFactoryMethod(ConstructorResolver.java:579)~[spring-beans-5.0.5.RELEASE.jar:5.0.5.RELEASE]
... 20多
此异常的原因可能是什么

谢谢 伊苏鲁

表示找不到类OAuth2LoginAuthenticationFilter

由于
OAuth2LoginAuthenticationFilter
位于工件
spring-security-oauth2-client
中,因此我假设依赖项存在问题

尝试向您的
spring-security-oauth2-client
依赖项添加一个版本,如下所示:

    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-oauth2-client</artifactId>
        <version>5.0.4.RELEASE</version>
    </dependency>

org.springframework.security
spring-security-oauth2-client
5.0.4.1发布
检查此问题:
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-oauth2-client</artifactId>
        <version>5.0.4.RELEASE</version>
    </dependency>