java - Spring WebFlux + Security - 我们有 "remember-me"功能吗?

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

当我开发非响应式(Reactive)应用程序并在身份验证中使用 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()

你知道有什么解决办法吗?

最佳答案

不幸的是,这似乎是不可能的。

有一个老issue on github不幸的是,不知道什么时候才能解决。

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

他们推荐使用 Spring Session 项目。

关于java - Spring WebFlux + Security - 我们有 "remember-me"功能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54991071/

相关文章:

java - Spring Security 中 Ant 匹配器到 "default"/

java - 雅虎财经 HTTP 响应代码 : 401 for URL

java - 为什么无论配置如何,根记录器都会收集所有日志类型?

Spring boot - Application.properties 中的自定义变量

java - 每个 spring 源代码 ide 的 springframework.org/tags 表单的 Maven 引用?

Grails、Vaadin 7 和 SpringSecurity : authorization not working

java - Spring Boot 无法从资源文件夹加载 js 文件

java - 升级到jdk版本7时出现Ant错误

java - 如何配置 rmi 服务导出端点地址?

java - 尽管authorizeRequests().anyRequest().permitAll(),spring-security仍返回401