在 Web 应用中,Session ID 用户维护浏览器(客户端)和服务器端的连接状态,用户登录时选择“记住我”,下次打开时默认是登录状态。出于一些安全因素的考虑,可以通过重新生成 Session ID 而断开连接:比如用户修改密码后要求重新登陆,一个账号在新的浏览器登陆后强制其他浏览器的登陆状态下线。
手动生成 Session ID
1 | $request->session()->regenerate(); |
销毁 Session (ID)
1 | $request->session()->invalidate(); |
案例:
用户修改密码后重新生成 Session ID:
1 | public function changePassword(Request $request) |
使用 remember token 认证后,重新生成 Session ID:
1 | if (Auth::viaRemember()) { |
参考:
https://www.harrisrafto.eu/enhancing-security-with-session-id-regeneration-in-laravel/