Laravel - 一次将路由组限制为一个用户?

时间:2017-11-10 19:33:44

标签: php laravel session laravel-5

我正在寻找一种方法,一次将一个组内的所有路由限制为一个用户。实际上,这会转换为只有一个管理员可以一次使用的管理控制面板。任何数字都可以在任何给定点登录到Web应用程序,但是如果进入控制面板,它应该锁定其他数字,直到他返回到常规客户端网站。

我正在运行laravel 5.2.9

2 个答案:

答案 0 :(得分:0)

如果您在离开管理面板后询问并强制所有用户退出

那就太容易了:

  • 登录后在数据库中添加标志
  • 然后在标志存在时向Route :: group添加中间件,不允许其他人
  • 注销后,删除标记

答案 1 :(得分:0)

如果您想让所有用户都登录系统,那么限制会话超时不是解决方案。

您可以执行以下操作:

  1. 每次用户访问管理页面时,将最后一个用户和访问时间戳存储到幼虫缓存或数据库
  2. 在允许用户进入管理页面之前,请检查存储的用户及其最后一次访问缓存/数据库。如果没有存储数据(第一次访问)或它已过期(用户上次访问后的最大空闲时间)或者它是同一个用户,那么让他进去。
  3. 这样一来,如果当前管理员处于空闲状态而其他人占用该页面,则当前管理员将在下一步操作时被重定向到正常区域。