正确的方法来更改登录过程Laravel 5

时间:2016-12-19 14:21:47

标签: laravel laravel-5

我想让用户每小时只使用一个不同的IP连接到我的网站。我设计的方法是在DB中再添两列:storedIP和lastSeen。

现在我不知道如何修改现有流程,以便在登录时执行以下操作:检查是否在不到一小时前看到用户,如果是,请检查他的IP和DB。

在Laravel 5.3中更改现有登录过程以实现此目的的干净且适当的MVC方法是什么

谢谢你们,Gr3y4nt

1 个答案:

答案 0 :(得分:1)

最好的方法是为此创建一个专用的中间件。您可以看到全面且易于理解的教程how to do it here

所以整个过程将是:

  1. 创建迁移以添加所需的两列
  2. 创建一个新的中间件(并正确附加 - 请参阅视频)
  3. 编写逻辑以检查当前用户是否可以访问您的网站,或者应将其重定向到某个信息页面。不要忘记为用户更新storedIPlastSeen
  4. 提示:

    • 您可以使用Auth::user()
    • 获取登录用户
    • 您可以使用request()->ip()方法获取当前请求的IP,
    • 您可以使用redirect('/some/endpoint')方法
    • 重定向用户