Laravel5.8にて、users
とadmins
という2つのテーブルで、それぞれ一般ユーザー、管理者ユーザーを管理しています。
これらでログインする際、まず、auth.php
に、
・・・ 'guards' => [ 'front' => [ 'driver' => 'session', 'provider' => 'users', ], 'admin' => [ 'driver' => 'session', 'provider' => 'admins', ], ・・・ ],
という風に記載しています。
この時、同じブラウザで、ユーザーと管理者ユーザーそれぞれのアカウントでログインし、そのあといずれか一方のアカウントでログアウトした際、もう片方のアカウントも強制ログアウトされてしまいます。これをなくしたいです。
LoginController.phpにて、
php
1public function logout(Request $request) 2 { 3 $this->guard()->logout(); 4 5 //ここをコメントアウト 6 // $request->session()->invalidate(); 7 8 ・・・ 9 }
上記のように、invalidate()
というメソッドを走らせなければ、この問題は解決するのですが、これだとセッションIDが再生成されないので、セキュリティ的に安全なのかが気になります。
これでも大丈夫なら、その理由が知りたいのですが、どなたか分かる方、ご教授いただけるとありがたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/06 05:00