[Laravel] sessionの共有について
- 2020年8月28日
- 技術情報
過去記事「[Laravel] 設定ファイル「.env」の切り替えについて」にて、URLのパス指定により、複数の「.env」設定ファイルの切り替えをおこなう方法を紹介いたしました。
今回は上記過去記事の補足説明となります。
各URL間でDBを共有する場合でsessionのみ分離させたい場合
過去記事「[Laravel] 設定ファイル「.env」の切り替えについて」内の項目[sessionの共有について]ではURLパス単位でのsession切り分け方法を紹介しましたが、この場合接続先DBが、URLパス単位で分割されていることが前提になります。
接続先DBが、URLパス単位で分割されず、共有されている場合、sessionを分離させるために「SESSION_DRIVER」を「database」に変更しても、DBは共有されているので、sessionは分離できません。
この場合「SESSION_DRIVER」はデフォルトの「file」のままで 以下のように、cookie名に任意の名前をつけることで sessionの分離が可能です。
SESSION_COOKIE=laravel_session_xxx
例として、 過去記事「[Laravel] 設定ファイル「.env」の切り替えについて」 で紹介した「.env」ファイルで調整をおこなうと下記のようになります。
.env.one
SESSION_COOKIE=laravel_session_one
.env.two
SESSION_COOKIE=laravel_session_two
この設定で「example.com/one」以下でアクセスしたWebシステムと、「example.com/two」以下でアクセスしたWebシステムのsessionを分離することが可能になります。
金曜日担当: nishida
nishida at 2020年08月28日 10:00:24