【发布时间】:2013-10-14 08:18:03
【问题描述】:
我正在做 Laravel 4 网络,当他们使用 Session::put('key','value') 登录时,我存储所有用户的信息。当用户注销时,我知道有两种方法可以取消设置,Session::forget('key') 和 Session::flush()。
我的问题是,当我执行 Session::forget() 或 flush() 时,其他仍在登录的用户也会被注销吗?有什么方法可以测试吗?
【问题讨论】:
我正在做 Laravel 4 网络,当他们使用 Session::put('key','value') 登录时,我存储所有用户的信息。当用户注销时,我知道有两种方法可以取消设置,Session::forget('key') 和 Session::flush()。
我的问题是,当我执行 Session::forget() 或 flush() 时,其他仍在登录的用户也会被注销吗?有什么方法可以测试吗?
【问题讨论】:
不,忘记会话将注销使用该特定系统登录的用户,而其他远程用户不会被注销。
我已经用我的一个项目对此进行了测试。
您可以使用Auth::logout();函数进行用户注销操作,这将在内部伪造会话。
使用 Session::forget() 和 Session::flush() 将从该浏览器中清除当前用户。
在此处查看 API http://laravel.com/api/source-class-Illuminate.Auth.Guard.html#382-399
【讨论】:
Auth,因为我验证用户的方式没有使用通常的Auth::attempt
Session::flush()或forget()手动取消会话