当前位置: 首页 > news >正文

解决前端路由切换导致Keycloak触发页面刷新问题

使用window.location.href进行页面跳转时,浏览器会完全刷新页面,这会导致当前的JavaScript上下文被清空。

如果你的登录状态依赖于某些临时存储(如LocalStorage或sessionStorage),而这些存储在页面刷新后未正确初始化或丢失,就会导致用户被认为未登录。触发keycloak再次登录导致页面刷新。

而点击切换页面(如通过路由库 react-router或vue-router)通常是单页应用(SPA)的行为,页面不会刷新,JavaScript上下文和存猪状态会被保留,因此不会出现退出登录的问题。

解决方法:
使用前端路由(如react-router的useNavigate或history.push)代替window.location.href,避免页面刷新。

import { history, type IRoute } from '@umijs/max';
// window.location.href = '/user/detail/' ;
history.push('/user/detail/')
http://www.dtcms.com/a/205815.html

相关文章:

  • landsat卫星遥感影像下载、处理教程
  • 数据结构 -- B树和B+树
  • 学习vue3:跨组件通信(provide+inject)
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | Blurry Loading (毛玻璃加载)
  • PostgreSQL 14 pacemaker 高可用集群
  • 从单链表 list 中删除第 i 个元素--Python
  • 软件设计师“面向对象设计”真题考点分析——求三连
  • 华为2025年校招笔试手撕真题教程(二)
  • 华为2025年校招笔试真题手撕教程(一)
  • Spring Bean 的定义与管理、配置方式详解
  • 《数据资产价值与收益分配评价模型》
  • 【C语言】预处理详解
  • RISC-V 开发板 MUSE Pi Pro Gstreamer 编码UVC及MIPI CSI摄像头视频流
  • 无anaconda搭建yolo11环境
  • SpringBoot 连接达梦数据库 使用Mybatis-Plus操作数据 国产数据 连接配置 数据迁移 项目依赖
  • 【Linux 学习计划】-- 倒计时、进度条小程序
  • MySQL迁移SSL报错
  • VideoMAE论文笔记
  • 【sylar-webserver】10 HTTP模块
  • SSL/TLS证书申请与管理技术指南
  • LLM推理加速技术如何迁移到传统 Transformer 模型(ASR)
  • Ubuntu nginx 配置 SSL 证书支持 https 请求
  • 【2025-05-22】centos 离线安装兼容node和npm版本的pm2 和 yarn
  • 《深度掌控Linux:openEuler、CentOS、Debian、Ubuntu的全方位运维指南》
  • 【2025-05-22】XXL-JOB 的 8810 端口添加到 CentOS 6.5 的防火墙白名单
  • Dify-4:API 后端架构
  • 开源无界 智联欧陆——仓颉计划携手OpenHarmony共绘万物互联新图景
  • 将 Docker 镜像推送到 GitLab Container Registry 的完整步骤
  • Java 调用 GitLab API
  • OpenHarmony外设驱动使用 (十二),User_auth