【问题标题】:Check if session has expired in Laravel 5.4检查会话是否在 Laravel 5.4 中过期
【发布时间】:2017-11-27 03:26:47
【问题描述】:

如何在 laravel 5.4 中检查会话是否已过期。

如果会话已过期,我想显示一条消息。

【问题讨论】:

  • 您将在哪里检查会话?它在控制器功能中吗?还是从一个视图?
  • Auth::check() 和 Auth::guest() 在用户登录后无法检查会话是否已过期。我已经尝试了所有可能的方法。很明显,在某个地方有一个会话有效性检查,一旦会话过期,可用于将用户重定向回登录。但我似乎无法找出这是什么。当我使用 Auth::check() 时,即使会话已过期,它也始终返回 true,因为这只不过是确认用户已通过身份验证。

标签: laravel session laravel-5.4


【解决方案1】:

你可以使用以下

if(Auth::check()) { 

}

【讨论】:

    【解决方案2】:

    无论用户是否登录,Laravel 都会为每个用户创建会话。它将为特定会话创建令牌。您可以检查令牌是否存在。

    您可以通过Session::get('_token');函数检查令牌是否存在。

    但如果您询问是否要检查用户的会话是否已过期,您可以使用Auth::check()。如果特定用户的 Session 是否过期,它将返回。

    例如,如果用户已登录,它将返回 True 或 False。但是您无法检查整个会话是否已过期,因为无论用户是否经过身份验证,Laravel 都会为每次访问创建和存储会话。

    如果您对 Laravel 会话有任何疑问或疑问,请告诉我。让我知道它是否有帮助!

    【讨论】:

    • 不 Auth::检查用户是否登录?如果用户再次打开页面并且会话已过期,我“只是”想输入一些消息
    猜你喜欢
    • 1970-01-01
    • 2018-04-10
    • 2021-04-05
    • 2018-04-04
    • 2016-11-20
    • 2012-05-15
    • 2011-01-05
    • 2019-12-09
    • 2013-10-07
    相关资源
    最近更新 更多