Laravel 应用中一个用户只允许单一会话存在
Laravel 5.3 中使用 make:auth
生成的登录方案。
-
User 模型对应的数据库表增加
session_id
字段; - 修改
/app/Http/Controllers/Auth/LoginController.php
,在顶部加上:
use Illuminate\Http\Request;
use Auth;
然后新增 authenticated
方法:
public function authenticated(Request $request,User $user){
$previous_session = $user->session_id;
if ($previous_session) {
\Session::getHandler()->destroy($previous_session);
}
Auth::user()->session_id = \Session::getId();
Auth::user()->save();
return redirect()->intended($this->redirectPath());
}
请登录