laravel-5 - 使用 laravel 不能同时登录网络
问题描述
如何限制同一用户同时登录同一设备或不同设备的网络。例如。如果用户已登录一个系统并尝试在另一台设备上使用相同的凭据登录,则他/她必须从之前的设备中注销。
解决方案
从 Laravel 5.6 开始,您可以访问logoutOtherDevices,这正是您想要的。
Laravel 还提供了一种机制,用于使用户在其他设备上处于活动状态的会话无效和“注销”,而不会使当前设备上的会话无效。
您需要确保在web
中间件组中设置了以下中间件。
'web' => [
// ...
\Illuminate\Session\Middleware\AuthenticateSession::class,
// ...
],
然后,您可以按如下方式使用它:
use Illuminate\Support\Facades\Auth;
Auth::logoutOtherDevices($password);
对于早期版本,您可以查看这个Stackoverflow 问题。
推荐阅读
- sass - 是否有检查现有占位符的功能?
- pandas - 使用 pandas drop rows 删除 IsolationForest 发现的异常值
- go - 在一个 docker 容器中打开代码并在另一个容器中进行 jaegertracing
- c# - 执行 Oracle INSERT ALL 时如何在 Dapper 中执行异步
- axios - puppeteer - 检查负载为 FormData 的 POST 请求
- angular - 加载资源失败:服务器以 Angular 7 的状态响应 422(无法处理的实体)
- c++ - Collatz Sequence:效率问题还是软件/硬件太慢?
- javascript - 了解strapi关系如何运作
- azure-cognitive-search - 如何消除 Azure 搜索服务 API 限制
- java - completablefuture 中两个不同 api 调用的异常处理