使用redis限制spring boot中的会话

时间:2017-01-09 09:49:10

标签: java spring spring-boot spring-security

我正在使用Redis的Spring启动来验证用户。

我的应用程序首次使用用户名&密码并发回一个唯一的令牌。对于进一步的交易,用户在标题中发送令牌。

这很好用,但是当用户已经过身份验证并且在Redis中有令牌时,我不希望spring创建新令牌。

设置:Spring Boot:1.4.0; Java 1.8

我确实尝试了下面的内容并且它没有工作。

 echo 'This is a **test** see ![alt text](https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png)'

1 个答案:

答案 0 :(得分:1)

@Configuration
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {

        @Autowired
        FindByIndexNameSessionRepository<ExpiringSession> sessionRepository;

        @Override
        protected void configure(HttpSecurity http) throws Exception {
                http
                        // other config goes here...
                        .sessionManagement()
                                .maximumSessions(1)
                                .sessionRegistry(sessionRegistry());
        }

        @Bean
        SpringSessionBackedSessionRegistry sessionRegistry() {
                return new SpringSessionBackedSessionRegistry(this.sessionRepository);
        }
}

更多细节请参阅here