跳到主要内容

登出

QWen Max 中英对照 Logout

Spring Security 默认提供了一个注销端点。登录后,你可以 GET /logout 来查看默认的注销确认页面,或者你可以 POST /logout 来启动注销。这将:

  • 清空 ServerCsrfTokenRepositoryServerSecurityContextRepository,并

  • 重定向回登录页面

通常,你还希望在注销时使会话失效。要实现这一点,你可以将 WebSessionServerLogoutHandler 添加到你的注销配置中,如下所示:

@Bean
SecurityWebFilterChain http(ServerHttpSecurity http) throws Exception {
DelegatingServerLogoutHandler logoutHandler = new DelegatingServerLogoutHandler(
new SecurityContextServerLogoutHandler(), new WebSessionServerLogoutHandler()
);

http
.authorizeExchange((exchange) -> exchange.anyExchange().authenticated())
.logout((logout) -> logout.logoutHandler(logoutHandler));

return http.build();
}
java