【问题标题】:Redirect to time out page - AngularJS / Spring重定向到超时页面 - AngularJS / Spring
【发布时间】:2016-06-21 18:40:00
【问题描述】:

我使用 jhipster 构建了一个 Web Web 应用程序来生成代码。如何在服务器上的会话过期后立即重定向到另一个页面?

我的 Web 应用程序不使用 web.xml 文件。

我在 application-dev.yml 文件中设置会话超时值如下:

#Session timeout in 2 seconds.   
server:
    port: 8080
    session: 
      timeout: 120

【问题讨论】:

  • 最好在 JSP/JS 文件中处理。假设您的会话将在 30 分钟后到期。有一个初始值为 30 分钟的计时器,当计时器变为零时,将页面重定向到登录页面。您可以使用 window.location = "login.jsp"
  • 我没有使用 JSP。我的应用程序是使用 angularJS 和 java 进行后端 REST 调用的单页应用程序
  • 即使在 JS 中,也可以使用计时器。只需阅读 setTimeOut 和 setTimeInterval 函数即可。

标签: angularjs jhipster


【解决方案1】:

问题是,当服务器上的会话到期时,对服务器 api 的下一个请求将返回一个 401 http 错误,该错误将被 Angular 应用程序拦截(参见auth-expired.interceptor.js)以将用户重定向到登录状态。

因此,您要么根据存储在 Angular 应用程序中的某些状态变量在拦截器中执行某些操作,要么按照 Azim 的建议,您在身份验证时在 Angular 应用程序中启动一个计时器,并在 Angular 部分管理其超时。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-25
    • 2011-08-08
    • 2018-01-30
    • 1970-01-01
    • 2013-10-20
    • 2014-06-05
    • 1970-01-01
    相关资源
    最近更新 更多