gpt4 book ai didi

spring - 将 SpringSessionBackedSessionRegistry 与 Redis session 存储库一起使用

转载 作者:IT老高 更新时间:2023-10-28 13:47:05 27 4
gpt4 key购买 nike

我在我的应用程序中使用 Spring Security 和 Spring Session (v1.3.1)。

我想使用 SpringSessionBackedSessionRegistry作为我的 Session Registry 和 Redis 作为我的 Session 存储库。

SpringSessionBackedSessionRegistry 的构造函数如下:

SpringSessionBackedSessionRegistry(FindByIndexNameSessionRepository<ExpiringSession> sessionRepository) 

Redis 存储库,RedisOperationsSessionRepository实现:

FindByIndexNameSessionRepository<org.springframework.session.data.redis.RedisOperationsSessionRepository.RedisSession>

那么,我如何构造 SpringSessionBackedSessionRegistry 的实例?给定 RedisOperationsSessionRepository 的实例?

为什么 SpringSessionBackedSessionRegistry 的构造函数是不是:

SpringSessionBackedSessionRegistry(FindByIndexNameSessionRepository<? extends ExpiringSession> sessionRepository) 

最佳答案

你说得对SpringSessionBackedSessionRegistry应该采取FindByIndexNameSessionRepository<? extends ExpiringSession> sessionRepository作为构造函数参数。

我已经打开了 PR 来解决这个问题,你可以跟踪它 here .

与此同时,您可以使用原始 FindByIndexNameSessionRepository在您的配置中配置SpringSessionBackedSessionRegistry .这是一个例子:

@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {

@Autowired
private FindByIndexNameSessionRepository sessionRepository;

@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.anyRequest().authenticated()
.and()
.formLogin()
.and()
.sessionManagement()
.maximumSessions(1)
.sessionRegistry(sessionRegistry());
}

@Bean
@SuppressWarnings("unchecked")
public SpringSessionBackedSessionRegistry sessionRegistry() {
return new SpringSessionBackedSessionRegistry(this.sessionRepository);
}

}

关于spring - 将 SpringSessionBackedSessionRegistry 与 Redis session 存储库一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41498183/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com