问题
我想清除Laravel应用程序中所有用户的所有会话。
我所尝试的
我知道Auth::logout()
会注销一个用户,但不会注销所有用户。我也试过从storage/framework/sessions
中删除会话文件。两个都不起作用。
我正在使用内置的Authentication(例如Auth
)和文件驱动程序,用于运行Laravel 5.2的会话。
如何有效地强制所有已登录用户注销,以便他们必须再次登录?
问题
我想清除Laravel应用程序中所有用户的所有会话。
我知道Auth::logout()
会注销一个用户,但不会注销所有用户。我也试过从storage/framework/sessions
中删除会话文件。两个都不起作用。
我正在使用内置的Authentication(例如Auth
)和文件驱动程序,用于运行Laravel 5.2的会话。
如何有效地强制所有已登录用户注销,以便他们必须再次登录?
3条答案
按热度按时间voj3qocg1#
值得注意的是,Laravel实际上只在session文件夹中存储活动会话;那些被“记住”但没有主动访问应用程序的文件不算在这些会话中。2因此,仅仅删除这些文件并不能完成任务。
您还必须清除用户表中的所有Remember Token,因为此令牌将与存储在Cookie中的本地令牌结合使用,以便在用户重新连接时重新创建会话。
zbwhf8kr2#
在app/session.php你可以改变cookie值,所以用户会自动注销,因为cookie是不匹配的配置
svgewumm3#
只需使用以下命令重新生成APP_KEY。
这将重新生成APP_KEY,它将用于加密和解密cookie。由于它的更改,所有cookie将失效。用户必须重新登录。
候补:
您还可以通过以下命令刷新所有缓存: