【问题标题】:Laravel logs user out randomlyLaravel 随机注销用户
【发布时间】:2017-11-08 12:50:12
【问题描述】:

我的 laravel 项目的登录会话有问题。登录使用的是普通的 Laravel 脚手架,它似乎工作得很好。登录后,用户将获得一个单页应用程序,该应用程序通过 Ajax 与后端对话。

但是几分钟后用户就退出了。哪种类型会破坏单页应用程序,因为用户正在其中构建内容,然后由于退出而无法保存。

在 Laravel 的 session.php 中,'lifetime' 设置为 120 分钟。我现在正在使用 Auth 中间件来保护路由。那里似乎有问题。当通过 ajax 调用受保护的路由时,用户会收到“未授权”消息。并且当页面重新加载时,用户将被注销。

这是auth中间件中的句柄函数

public function handle($request, Closure $next)
    {
        if ($this->auth->guest()) {
            if ($request->ajax()) {
                return response('Unauthorized.', 401);
            } else {
                return redirect()->guest('auth/login');
            }
        }

        return $next($request);
    }

任何想法这可能是什么?

【问题讨论】:

  • 我也遇到了这个问题。真令人沮丧。

标签: php laravel session


【解决方案1】:

设置

   'lifetime' => 120, // number of minutes that you wish the session to be allowed to remain idle before it expires.

        'expire_on_close' => true,

在 config 文件夹中的 session.php 中

【讨论】:

  • 完成了,正如我在帖子中提到的那样。 (现在对其进行编辑以使其更加清晰)
猜你喜欢
  • 2017-03-15
  • 1970-01-01
  • 2013-01-20
  • 2016-02-13
  • 1970-01-01
  • 1970-01-01
  • 2012-09-26
  • 2014-08-08
  • 2016-08-22
相关资源
最近更新 更多