当我开发非反应性应用程序并在身份验证中使用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()
您知道任何解决方案吗?
答案 0 :(得分:2)
不幸的是,似乎无法做到这一点。
有一个旧的issue on github,很遗憾,尚不清楚何时解决。
评论建议使用更长的会话到期时间并将会话卸载到外部数据存储区(即Redis)。这样,您可以将信息存储在数据库中而不是cookie中。
他们建议使用Spring Session项目。
答案 1 :(得分:0)
评论说,使用更长的会话到期时间并将会话卸载到外部数据存储区(即Redis)。这样,您可以将信息存储在数据库中而不是cookie中。
他们说使用Spring Session项目。