OAuth2LoginAuthenticationFilter Spring Security

5

目前我正在研究Spring Boot 2、OAuth2和单点登录。我在运行一个示例项目时遇到了以下问题:

ClassNotFoundException: org.springframework.security.oauth2.client.web.OAuth2LoginAuthenticationFilter

我无法找到能提供这个的Maven依赖项。

我已经尝试过所有spring-security核心、starter等的组合。

下面是我的Pom文件:

 <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.0.RC1</version>
</parent>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.springframework.security/spring-security-core -->
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-core</artifactId>
        <version>5.0.3.RELEASE</version>
    </dependency>

    <!--<dependency>-->
        <!--<groupId>org.springframework.security.oauth</groupId>-->
        <!--<artifactId>spring-security-oauth2</artifactId>-->
    <!--</dependency>-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    <dependency>
        <groupId>org.thymeleaf.extras</groupId>
        <artifactId>thymeleaf-extras-springsecurity4</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.security.oauth.boot</groupId>
        <artifactId>spring-security-oauth2-autoconfigure</artifactId>
        <version>2.0.0.RELEASE</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.springframework.security.oauth/spring-security-oauth2 -->
    <dependency>
        <groupId>org.springframework.security.oauth</groupId>
        <artifactId>spring-security-oauth2</artifactId>
        <version>2.2.1.RELEASE</version>
    </dependency>

    <!--<dependency>-->
        <!--<groupId>org.springframework.security.oauth.boot</groupId>-->
        <!--<artifactId>spring-security-oauth2-autoconfigure</artifactId>-->
        <!--<version>2.0.1.BUILD-SNAPSHOT</version>-->

</dependencies> 

非常感谢您在确定正确的依赖关系方面提供帮助。


使用Eclipse?前往Maven依赖项->spring-security-oauth2 jar并检查是否存在此文件(OAuth2LoginAuthenticationFilter.class)。如果不存在,则可能是版本问题。 - tryingToLearn
@theLearner 使用 WinZip 打开了版本为 2.2.1-RELEASE 的文件,但该类缺失。查看上面的标记 javadoc,发现发布版本自 5.0 起 - 这让我认为它应该是 Spring Security 5 的一部分。但打开那个 jar 文件却不是这种情况。 - MikeMelo91
1个回答

10

我在Spring的错误报告中提交了这个问题。虽然这是一个持续的对话,但我已经解决了缺失的依赖项。只需包含以下内容:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接