質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Authentication

Authentication(認証)は正当性を認証する為の工程です。ログイン処理等で使われます。

Q&A

解決済

1回答

644閲覧

Laravel5.5でadminやfrontのユーザーごとにログイン、ログアウトをする方法が知りたいです。

zerustr

総合スコア11

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Authentication

Authentication(認証)は正当性を認証する為の工程です。ログイン処理等で使われます。

0グッド

0クリップ

投稿2019/04/28 08:10

Laravel5.8にて、usersadminsという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が再生成されないので、セキュリティ的に安全なのかが気になります。
これでも大丈夫なら、その理由が知りたいのですが、どなたか分かる方、ご教授いただけるとありがたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

これだとセッションIDが再生成されないので、セキュリティ的に安全なのかが気になります。

確かに気になります。

すごい妥協案ですが

public function logout(Request $request) { /* 現在のログインユーザを取得しておく */ $this->guard()->logout(); /* このguardから現在、adminかusersか区別が着くはず */ $request->session()->invalidate(); /* $this->guard()->loginUsingId(現在のログインユーザかつ、ログアウト操作をされなかったほうのID) */ }

のような感じで復元してみてはどうでしょうか

投稿2019/05/01 22:54

mikkame

総合スコア5036

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

zerustr

2019/05/06 05:00

ありがとうございます。一度ログアウトされたのを再ログインさせる感じですね。機会がある時にまたみて見ます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問