Spring WebFlux +安全-我们有“记住我”功能吗?

时间:2019-03-04 20:29:56

标签: java spring spring-security java-8 spring-webflux

当我开发非反应性应用程序并在身份验证中使用RememberMe功能时,我只是扩展了WebSecurityConfigurerAdapter类并覆盖了configure(HttpSecurity httpSecurity)方法。在那种情况下,我在httpSecurity对象中有一个RememberMe()方法。

但是使用Spring WebFlux会有区别。据我所知,我要做的就是通过调用如下链来使用ServerHttpSecurity类的实例定义一个SecurityWebFilterChain bean:

serverHttpSecurity.authorizeExchange()
                .anyExchange().authenticated()
                .and()
                .httpBasic()
                .build();

但是这里没有像我可以以这种方式处理它的方式处理HttpSecurity对象中的RememberMe cookie的方法:

httpSecurity.authorizeRequests()
                .anyRequest().authenticated()
                .and()
                .httpBasic()
                .and()
                .rememberMe()

您知道任何解决方案吗?

2 个答案:

答案 0 :(得分:2)

不幸的是,似乎无法做到这一点。

有一个旧的issue on github,很遗憾,尚不清楚何时解决。

评论建议使用更长的会话到期时间并将会话卸载到外部数据存储区(即Redis)。这样,您可以将信息存储在数据库中而不是cookie中。

他们建议使用Spring Session项目。

答案 1 :(得分:0)

评论说,使用更长的会话到期时间并将会话卸载到外部数据存储区(即Redis)。这样,您可以将信息存储在数据库中而不是cookie中。

他们说使用Spring Session项目。