- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Rest api 运行无状态 spring-boot 应用程序,并且想要禁用 WebSession 的创建,如 https://www.baeldung.com/spring-security-session 中所述。
我创建了自己的 WebSessionManager,它不存储 session 。
@Bean
public WebSessionManager webSessionManager() {
return new WebSessionManager() {
@Override
@NonNull
public Mono<WebSession> getSession(@NonNull final ServerWebExchange exchange) {
return Mono.just(new WebSession() {
@Override
@NonNull
public String getId() {
return "";
}
@Override
@NonNull
public Map<String, Object> getAttributes() {
return new HashMap<>();
}
@Override
public void start() {
}
@Override
public boolean isStarted() {
return true;
}
@Override
@NonNull
public Mono<Void> changeSessionId() {
return Mono.empty();
}
@Override
@NonNull
public Mono<Void> invalidate() {
return Mono.empty();
}
@Override
@NonNull
public Mono<Void> save() {
return Mono.empty();
}
@Override
public boolean isExpired() {
return false;
}
@Override
@NonNull
public Instant getCreationTime() {
return Instant.now();
}
@Override
@NonNull
public Instant getLastAccessTime() {
return Instant.now();
}
@Override
public void setMaxIdleTime(@NonNull final Duration maxIdleTime) {
}
@Override
@NonNull
public Duration getMaxIdleTime() {
return Duration.ofMinutes(1);
}
});
}
};
}
它有效,但我想知道是否有更好的方法来不创建 session 。
最佳答案
Issue #6552: Session Creation Policy with Webflux Security Spring 团队将修复该问题。
The problem is that the request cache is being invoked for every request to see if there is a value saved to replay and thus the WebSession is being looked up for every request. Since the WebSession is being looked up with an invalid session id, Spring WebFlux invalidates the SESSION cookie. ~ rwinch
DarrenJiang1990建议的解决方案是:
.and().securityContextRepository(NoOpServerSecurityContextRepository.getInstance())
The security context in a WebFlux application is stored in a ServerSecurityContextRepository. Its WebSessionServerSecurityContextRepository implementation, which is used by default, stores the context in session. Configuring a NoOpServerSecurityContextRepository instead would make our application stateless
您可以在 Issue #7157 ServerRequestCacheWebFilter causes WebSession to be read every request 中跟踪修补进度.
关于java - 将 spring-security 与 spring-webflux 结合使用时禁用 WebSession 创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56056404/
我一直在尝试对 Wicket 的 WebSession 进行子类化,以便可以实现基本的身份验证系统。我已遵循 Wicket 引用库中的指南。当我在网页中尝试以下操作时,出现 ClassCastExce
我正在尝试将 wicket-6 应用程序部署到 kubernetes 集群中,以提高可用性并更好地分配 Web 应用程序的负载。 从我扩展 AuthenticatedWebSession 的意义上来说
我无法使以下代码工作。它似乎登录但随后返回带有 $response 的登录页面。我猜这与回发有关?有办法解决这个问题吗?谢谢! $login = Invoke-WebRequest -Uri 'htt
我有自己的自定义 session 类,它扩展了 Wicket 的 WebSession。我想从普通的 servlet doPost() 方法访问这个自定义 session 类。有哪些方法? 最佳答案
我们目前正在将 Apache Ignite 集成到我们的应用程序中以在集群中共享 session 。参见 Ignite docs .此时我们可以成功地在两个本地 tomcat 实例之间共享 sessi
我有一个执行实时事务处理的 Web 应用程序,我们正在尝试使用 Redis 或 Ignite 实现外部 session 管理器。 我们的是一个基于 Spring 的应用程序,所以我们选择了 b/w R
我想将我的 Spring Webflux 项目从 Spring Boot 2.0.1 升级到 Spring Boot 2.0.3。在我的项目中,我的 session 由 Spring Session
我需要从每个请求中获取特定的自定义 HTTP header 值并将其放入 WebSession 中,以便以后可以在任何网页上使用它。 (我相信 Wicket 的方法是使用一个自定义类来扩展具有适当访问
我编写了自己的 RequestCycleListener 来记录一些信息。如何从此类访问 wicket WebSession 对象? public class MyRequestCycleListen
我正在使用 Rest api 运行无状态 spring-boot 应用程序,并且想要禁用 WebSession 的创建,如 https://www.baeldung.com/spring-securi
Spring 新的响应式(Reactive) Web Flux api 有一个新的 http session 实现,位于 here 。我想将最新的 Spring Web session 集成到新的 S
我正在使用 Java 开发 Apache Wicket Web 应用程序。在此应用程序中,我有一种使用用户代理检测用户设备的通用方法。然而,自从 iOS 13 更新以来,我的支票不再适用于 iPad,
我是一名优秀的程序员,十分优秀!