You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求为Togglz控制台添加登出按钮(Keycloak环境)

解决Togglz控制台无法登出及添加登出按钮的方案

1. 配置Spring Security登出逻辑

在你的TogglzSecurityConfig中补充登出相关配置,确保登出请求能正确失效会话、清除Cookie:

@Override
protected void configure(HttpSecurity http) throws Exception {
    http
        .antMatcher("/togglz/**") // 仅对Togglz路径生效
        .authorizeRequests()
            .anyRequest().authenticated()
            .and()
        .formLogin() // 保留原有表单登录配置
            .and()
        .logout()
            .logoutUrl("/togglz/logout") // 自定义登出URL
            .logoutSuccessUrl("/togglz/login?logout") // 登出后跳转回登录页
            .invalidateHttpSession(true) // 失效当前会话
            .deleteCookies("JSESSIONID"); // 清除会话Cookie
}

2. 给Togglz控制台添加登出按钮

有两种简单方式实现:

方式一:通过ConsoleCustomizer注入导航项

创建一个Spring Bean,直接在Togglz控制台导航栏添加登出按钮:

@Bean
public ConsoleCustomizer consoleCustomizer() {
    return console -> {
        // 在控制台导航栏添加登出链接,位置在最右侧
        console.addNavigationItem("登出", "/togglz/logout", null);
    };
}

方式二:自定义Freemarker模板片段

在项目的classpath下创建togglz/custom-header.ftl文件,写入以下内容:

<div class="navbar-right">
    <a href="/togglz/logout" class="btn btn-default navbar-btn">登出</a>
</div>

Togglz会自动加载这个自定义片段,将登出按钮添加到控制台头部右侧。

验证效果

完成配置后重启服务,登录Togglz控制台即可看到登出按钮,点击后会自动清除会话并跳转回登录页面,此时再访问控制台需要重新登录,确保登出逻辑生效。

内容的提问来源于stack exchange,提问作者Remis07

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 08:40:23