重定向至“春季会话超时登录”诊断树

Redirect to login on session timeout in spring

本文关键字:登录 诊断 超时 会话 春季 重定向      更新时间:2023-09-26

我有一个多页面的web应用程序,它使用iframe来处理当前页面,在顶部我有导航器。

问题是,当用户变得空闲并且会话超时时。页面继续显示为"已记录"状态。当用户尝试与iframe页面(当前页面)交互时,服务器将iframe页重定向到登录页面,导航器继续在顶部。

如何将整个页面重定向到登录?

我可以使用websockets向服务器发回一条消息,通知会话超时,然后重定向到登录吗?

您可以重定向iframe的父级,如下所示:

parent.document.location.href = 'http://...'

如果登录页面是自己实现的(例如,不是由spring security实现的),您可以在页面上添加一段JavaScript代码,以有条件地突破iframe:

<script type="text/javascript">
if (top.location!= self.location) {
   top.location = self.location.href;
}
</script>

不需要与服务器交互。