当session失效后,用户点击当前页面会跳到登录页面,如果用户现在是在子页面,则当前的子页面跳到登录,用户感觉很不好,所以进行处理,例得无论点击那个页面,都找到顶端页面,再跳到登录页面。
处理的方式很简单,在登录的JSP页面,增加下面的方法,在body的onload事件中加载这个方法。
function refreshTop(){
var currentHref="${pageContext.request.contextPath}/login-form.jsp?requestPath=index.jsp";
var parentPage=window.parent;
var currentPage=window;
var topPage;
while(parentPage!=currentPage){
topPage=parentPage;
currentPage=parentPage;
parentPage=parentPage.parent;
}
if(topPage){
topPage.location.href=currentHref;
}
}
技术点:判断当前的页面是否有父页面,如果用if(window.parent)结果永远是true,也就是当前页面的parent永远是true, 正确的判断方式是 if(window.parent!=window)
分享到:
相关推荐
当Session失效,用户通常会被重定向到登录页面,登录成功后,系统应能恢复之前的浏览状态,如返回原来的页面并保留用户可能已填写的表单数据。这涉及到一系列的技术处理和设计原则,包括Session管理、登录逻辑、页面...
当Session失效时,通常会导致用户被重定向到登录页面,以便重新验证其身份。下面将详细讨论EXT Session失效以及如何实现页面跳转至登录页。 首先,EXT是一个JavaScript库,用于构建交互式的、数据驱动的Web应用。它...
最近由于一个项目,模块切换为ajax请求数据,当Session失效后,ajax请求后没有返回值,只有响应的html:<html>[removed]window.open(‘http://192.168.0.118:8080/welcomeAction/loginUI.do’,’_top’);...
这样一旦用户超过30分钟未进行任何操作(比如点击页面、提交表单等),其Session就会自动失效,从而强制用户重新登录验证身份。这种方式既保证了安全性又避免了频繁要求用户登录带来的不便。 #### Session失效的...
5. **提示用户**:当检测到Session失效时,及时向用户显示提示,让他们可以选择重新登录。 6. **使用单点登录(SSO)**:在大型复杂系统中,单点登录可以统一管理用户Session,提高用户体验。 7. **考虑无状态API*...
本文将深入探讨如何使用Servlet和Session来实现用户登录时间和点击页面次数的记录。 首先,让我们理解Servlet的基本概念。Servlet是Java提供的一组接口,用于扩展服务器的功能,处理HTTP请求并生成响应。在Web应用...
为了实现用户退出页面时自动清除Session,可以通过监听浏览器的`onbeforeunload`事件,将用户重定向到一个专门用来注销的页面(如`logout.jsp`),在这个页面中执行Session的清除操作。 ```html ``` 其中`logout....
当用户的session失效,即用户在一段时间内未与服务器交互,为了防止潜在的安全问题,需要及时将用户重定向到登录页面,要求他们重新登录。本文将详细讲解如何在Spring MVC中实现这一功能。 首先,我们需要在`web....
通过这种方式,当用户的Session失效后,用户仍然可以收到错误提示,并能够被引导回登录页面,从而能够重新登录继续使用应用。 此外,文章中提及的SecurityContextUtil是一个用于维护用户安全上下文的工具类。在拦截...
一同事求援:后台系统的登录成功了,但不能成功登进系统,仍然跳转到登录页,但同一套代码另一个环境却没有问题。 背景 经了解,他对同一个项目使用tomcat部署了两个环境,一个在开发服务器上,一个在他本机,两个...
### Spring MVC 控制网站登录用户失效后跳转登录页面 #### 概述 在Web应用开发中,确保用户的会话安全至关重要。对于基于Spring MVC框架的应用程序而言,一个常见的需求是当用户会话失效(例如:用户长时间未操作...
当用户登录后,服务器会创建一个Session,并将用户的登录信息存储在其中。然而,Session不能永久保持,它有默认的超时时间,超过这个时间如果没有接收到客户端的任何请求,Session就会被视为过期。在本文中,我们将...
控制一个用户多次登录,当Session有效时,如果相同用户登录,就提示已经登录了,当Session失效后,就可以不用提示,直接登录了。 使用HttpSessionListener 那么如何在Session失效后,进行一系列的操作呢?这里就...
这段代码是关键,它确保在用户Session失效时,不会继续执行后续的Action逻辑,而是直接跳转到登录页面或指定的无Session页面。 `init()`方法在拦截器被加载到容器时调用,通常用于进行初始化操作,而`destroy()`...
- 应用:在登录页面,服务器验证用户凭证后,会创建新的Session并存储用户信息。在成功页面,服务器通过Session ID查找用户信息,以提供定制化的用户体验。退出页面,服务器会销毁对应的Session,使用户无法再访问...
当检测到Session丢失时,可以使用JavaScript的`window.location.href`属性进行页面重定向,而不是使用`Response.Redirect()`方法。这是因为后者可能会被浏览器解释为新请求,从而导致SessionID的变化。 5. **...
在探讨如何解决iframe跨域与session失效的问题之前,我们需要了解几个重要的概念:什么是跨域,什么是session以及cookie。 首先,跨域问题通常出现在Web应用中,尤其是在使用iframe嵌入第三方网站内容时。在Web技术...
当Session失效时,我们可以自定义AuthorizeAttribute的子类,如`AuthorizeOfHandleUnAuthorizeAttribute`,并在`HandleUnauthorizedRequest`方法中处理重定向到登录页面的操作。 ```csharp public class ...
当用户点击注销按钮时,清除所有与当前用户相关的Session变量,然后重定向回登录页面: ```php session_unset(); session_destroy(); header("Location: login.php"); exit; ``` 9. **安全注意事项**: - ...