检查用户是否登录了laravel 4

时间:2013-12-20 05:21:53

标签: php mysql rest laravel laravel-4

您好我正在我的网站上实现聊天/收件箱功能。当用户未登录并从其他用户接收消息时,该网站将向该消息的接收者发送电子邮件。但是,当用户登录时,它不会。

我的问题是如何判断用户是否已登录?例如,如果用户登录然后关闭浏览器,我的后端就不会知道任何事情。

顺便说一句,我在Laravel 4中使用一个安静的API构建一个Angularjs SPA。

2 个答案:

答案 0 :(得分:19)

如果您使用的是内置Laravel Auth:

if(Auth::check())
{
   //do something
}

如果您使用的是Sentry:

if(Sentry::check())
{
   //do something
}

答案 1 :(得分:4)

我建议在用户登录时使用Ajax ping 数据库。添加last_logged_in类型Date列 因此,当用户登录时,他们将last_logged_in字段更新为当前日期。您可以根据需要随时执行此Ajax(非常小的性能问题)。要查看用户是否已登录,只需检查last_logged_in日期并将其与当前日期减去某个时间(1分钟)进行比较..

我不建议将其用于向用户发送电子邮件,因为它可能会导致大量垃圾邮件。 您可以另外使用is_logged_in字段,但不要在其上使用它。