【问题标题】:How to automatically redirect when user session expires in Laravel如何在 Laravel 中用户会话到期时自动重定向
【发布时间】:2017-06-19 04:10:26
【问题描述】:

我想在会话到期时自动将用户重定向到登录页面。

我知道Auth::check() 我可以检查用户会话是否存在。但如果用户刷新页面,那么只有它重定向到登录。

假设用户的会话过期,那么我想立即重定向到登录页面而不等待用户刷新页面。

有没有可能。请告诉我正确的做法。

【问题讨论】:

  • 这可能会对您有所帮助。 Automatic Redirect On LogIn Page
  • 有什么方法可以在一个地方读取 ajax 请求的响应代码。我有一个非常大的应用程序,几乎有 500+ajax 请求。每当我发出 ajax 请求时,如果会话已过期,那么它就会抛出错误,很明显请求没有得到任何响应。我能做的最多我可以通过 401 状态代码提供一条消息,我可以检查我发出 ajax 请求和重定向的代码,但我不能对 500+ 请求做同样的事情。之后我想通过编写一个检查所有ajax请求并重定向的代码来重定向到登录页面。

标签: laravel session


【解决方案1】:

没有任何点击是不可能的,你需要一个点击监听器 像这样使用ajax

env 文件中找到SESSION_LIFETIME=10 行,在 minate 中根据需要更改值

现在

 $.ajax({
        type: "GET",
        url: filename,
        contentType: false,
        success: function (data) {
           // loaded your content without expire the sessions
        },
        error: function (xhr, status, error) {

           // you redirect tht to login page 
           //hint: the laravel has unauthorized error for session expire or for Unauthorized users
            if (error === 'Unauthorized'){
                location.assign("login");
            }
        }
    });

【讨论】:

    猜你喜欢
    • 2018-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 2014-04-09
    • 2015-03-25
    • 2018-04-26
    • 2020-03-11
    相关资源
    最近更新 更多