Laravel 允许使用存储在 cookie 中的 remember_token
来验证用户。
在我的 user
表中,我有一个 active
列,它是一个 boolean (1, 0)
。
例如,如果用户被解雇,您需要禁用他的登录能力;因此您将 active
值更改为 0。
但是你打算用他的 cookies 做什么呢?
注意!我是用一种非常原始的方式写的!问题是如何正确处理这种情况。
最佳答案
由于您无法删除记住 cookie,因此您需要在应用程序中实现检查,以确保所有登录的用户都具有事件状态。
实现此目的的一种方法是实现 auth.login 事件的监听器并检查那里的状态。
class CheckUserStatusHandler {
public function handle($user) {
if (!$user->active) Auth::logout($user);
}
}
注销方法将注销用户并删除记住 token 。
然后在您的EventServiceProvider中注册监听器:
protected $listen = [
'auth.login' => [
CheckUserStatusHandler::class
]
];
关于php - 如何通过记住 token 禁用用户登录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31627234/