首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring安全WebFlux注销

Spring安全WebFlux注销
EN

Stack Overflow用户
提问于 2019-12-09 17:38:04
回答 1查看 1.6K关注 0票数 4

在进行注销时,WebFlux中的会话和删除cookie的等效方法是什么?

代码语言:javascript
复制
public class SecurityConfig extends WebSecurityConfigurerAdapter {



    @Override
    protected void configure(HttpSecurity http) throws Exception
    {
        http
        .httpBasic()
        .and()
        .logout().clearAuthentication(true)
        .logoutSuccessUrl("/")
        .deleteCookies("JSESSIONID")
        .invalidateHttpSession(true)
        .and()
...
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-31 19:57:58

除了默认删除cookie“会话”和WebSession (WebFlux中的会话名称)之外,您还可以配置ServerLogoutSuccessHandler:

代码语言:javascript
复制
    .logout()
        .logoutSuccessHandler(new ServerLogoutSuccessHandler() {
            @Override
            public Mono<Void> onLogoutSuccess(WebFilterExchange exchange, Authentication authentication) {
                ServerHttpResponse response = exchange.getExchange().getResponse();
                response.setStatusCode(HttpStatus.FOUND);
                response.getHeaders().setLocation(URI.create("/login.html?logout"));
                response.getCookies().remove("JSESSIONID");
                return exchange.getExchange().getSession()
                    .flatMap(WebSession::invalidate);
            }
        })
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59253949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档