无法自动配置会话存储库(会话存储类型为“redis”)

mkshixfv  于 2021-06-09  发布在  Redis
关注(0)|答案(1)|浏览(570)

我将从该教程的第三部分的这个链接开始关注spring安全教程。我必须使用redis将会话信息传递给资源后端。
这里是我的application.yml文件:

server:
  port: 9000
security:
  sessions: NEVER
spring:
  session:
    store-type: redis
  redis:
    host: localhost
    port: 6379
logging:
  level:
    org.springframework:
      security: DEBUG
      session: TRACE

另外,我使用headerHTTPSessionStrategybean作为会话策略

@Bean
HeaderHttpSessionStrategy sessionStrategy() {
    return new HeaderHttpSessionStrategy();
}

我的pom找不到相关的类声明并给我
包org.springframework.session.web.http不存在
上面的错误出现在我的pom.xml文件中。

<properties>
    <java.version>14</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

我是Spring和Spring安全世界的新成员。有什么建议能解决这个问题吗?
编辑:
在pom中添加了新的依赖项之后

<dependency>
        <groupId>org.springframework.session</groupId>
        <artifactId>spring-session</artifactId>
        <version>1.3.5.RELEASE</version>
    </dependency>

我解决了上面的问题,但这次我遇到了一个新问题,它说:
无法自动配置会话存储库,请检查您的配置(会话存储类型为“redis”)
上面是application.yml上的redis配置。我在docker上使用redis。我的 Docker yml是:

redis:
     image: redis
     ports:
         - "6379:6379"
vs91vp4v

vs91vp4v1#

我最近犯了这个错误。我用的是SpringBoot2.4.0。我已经为 Spring 课程添加了依赖项,但忘记为绝地添加依赖项。

<dependency>
            <groupId>org.springframework.session</groupId>
            <artifactId>spring-session-data-redis</artifactId>
        </dependency>

当我第一次部署时,它给了我一个信息:

No session repository could be auto-configured, check your configuration (session store type is 'redis')

在我添加了这个依赖项并重建了jar之后,一切都正常了。

<dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
        </dependency>

也许这会帮助别人。

相关问题