Laravel 7:禁用登录和自动登录 (remember_token)

Laravel 7: Disable login & autologin (remember_token)

我希望能够在我的 laravel 7 应用中禁用某些用户。因此,我在“用户”table 中创建了一个“活动”列,当设置为活动 = 0 时,用户无法再登录。

我遇到的问题是“记住我”功能,因为已经登录的用户在我禁用他们的帐户后仍然可以访问该应用程序,因为他们不必通过登录表单。

将“用户”table中的“remember_token”删掉会有什么影响吗?我对一个用户进行了尝试(删除了 table 中的用户 remember_token),但它没有立即生效,因为在那之后自动登录仍然有效。但也许我在这里遗漏了一些东西。

附加信息:我正在使用 Laravel Passport 进行身份验证。

我决定采用中间件解决方案,因为我不想减少整体 SESSION_LIFETIME。

我创建了一个名为“VerifyUserState”的额外中间件,因为我没有通过 Auth::user() 或 [=19= 内部的 $this->auth 成功读取用户“活动”值] Authenticated.php 中间件中的函数。

我按照本教程实现了这一目标: https://www.itechempires.com/2019/08/how-to-create-configure-and-use-custom-middleware-in-laravel-5-8/

现在可以按需使用了。