【问题标题】:After logging off, a user should not able to see the pages by pressing back button of the browser注销后,用户应该无法通过按浏览器的返回按钮来查看页面
【发布时间】:2018-06-22 16:48:53
【问题描述】:

我正在使用 chrome 和 mozilla 浏览器处理 reactjs。

注销后我可以重定向到登录页面(请参见图片(2))

如果我在浏览器中单击后退箭头,则可以从此登录页面访问该应用程序。

根据项目要求,一旦用户注销,我将从登录重定向到登录页面,直到登录他应该无法通过回退按钮访问应用程序。

对于单击注销功能,我是否需要做任何事情或从登录组件呈现我想要返回的事件不应该工作。

请帮助我提前谢谢。

【问题讨论】:

  • 如果您的应用程序中有根减速器,请分享
  • 我以前从未使用过 Angular,但如果是我,我会使用 javascript pushstate 来修改 url 历史记录。看看stackoverflow.com/questions/12381563/…
  • @G_S 我正在使用反应通量架构。
  • @EgyMohammadErdin 我已经看到你提供的链接,我需要使用 window.onbeforeunload。

标签: javascript reactjs routing


【解决方案1】:

目标:根据项目要求,一旦用户注销,我将从登录重定向到登录页面,直到登录他应该无法通过回退按钮访问应用程序

假设您正在寻找 javascript 解决方案(标签是 javascript,react)

简而言之,即使在原生 javascript see this

中,您也无法禁用后退按钮(或更改浏览器行为)

我的建议

  • 客户端方式:使用pushstate操纵see this answer
  • 服务器端方式:当用户单击注销时,将其重定向到临时页面(比如说landing.php)。在您的登陆中,再次重定向到登录页面。这样,当用户点击退格/后退按钮时,他将被重定向到登录页面,然后再次重定向到登录页面,使他无法访问应用程序。我猜很脏,但最快的解决方案。看看我专门为你准备的样品?sample

【讨论】:

    【解决方案2】:

    单击注销,您并没有清除您的存储,因此您仍然可以在单击返回按钮时查看应用程序。 在您的根 reducer 中,在组合 reducer 时,您可以处理 LOGOUT 操作并将状态返回为未定义。

    【讨论】:

    • 我正在清除商店令牌,我在注销时无法运行服务。但我可以看到用户界面。
    猜你喜欢
    • 2013-07-20
    • 1970-01-01
    • 2011-10-18
    • 1970-01-01
    • 1970-01-01
    • 2018-08-14
    • 2012-05-14
    • 2012-03-08
    • 1970-01-01
    相关资源
    最近更新 更多