找出如果用户在前端(Laravel)进入前端

时间:2018-03-08 08:50:31

标签: javascript php laravel cookies laravel-5.5

所以我带着一个简单的问题来找你:laravel会话中继是如何工作的。

我的使用案例:我有一个像这样的清漆缓存的laravel网站:

  1. 每个获取请求都是在用户未登录时进行的
  2. 任何用户相关信息,如果用户加载页面后通过ajax加载。
  3. 我的问题是我需要在我的前端知道用户是否已登录。

    我注意到的事情:

    1. 在js中无法访问Laravel会话
    2. 即使用户未登录,Laravel会话仍然存在
    3. 我还尝试在登录时设置我自己的cookie并在注销时取消设置,但是当我的用户仍然登录时,我的cookie会随机丢失。

      如果有人知道如何确定我的用户是否从标准cookie登录,我将非常感激。

3 个答案:

答案 0 :(得分:3)

您可以pass the data to JS喜欢我在我的回购中展示。例如:

<input id="authenticated" type="hidden" value="{{ auth()->check() }}">

然后获取truefalse

的数据
let authenticated = $('#authenticated').val();

或者,您可以使用Ajax调用并在控制器方法中执行auth()->check()

答案 1 :(得分:0)

您可以在JS var userCheck= " <?php echo Auth::check();?> ";中使用,然后检查userCheck是否等于1,然后用户登录,否则不会。

答案 2 :(得分:0)

无论何时用户登录,您都可以生成令牌,并将其发送到前端并将其保存在cookie中。 Cookie可以有5个小时的有效期。如果在这5个小时内,用户发送了一些请求,则令牌被刷新,并且5个小时的时间再次开始。万一后端没有请求,则意味着用户不活跃,您可以注销他。