やりたいこと。
LaravelのAuth認証を複数のURLに対応させたい。
利用団体によってURLの異なるアプリケーションを開発中です。
例えば、
http://www.hoge.com/company-demo1/index
http://www.hoge.com/company-demo1/funcA
http://www.hoge.com/company-demo1/funcB
http://www.hoge.com/company-demo2/index
http://www.hoge.com/company-demo2/funcA
http://www.hoge.com/company-demo2/funcB
のように、company-demo◯の部分でDBが変わる仕組みで、処理の中身はindex funcA funcB とも同じという具合です。
web.phpでAuth::routes();を分解すると
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
となりますが、これを以下のように複数のルートに対応したいです。
Route::get('company-demo1/login', 'Auth\LoginController@showLoginForm')->name('login'); Route::get('company-demo2/login', 'Auth\LoginController@showLoginForm')->name('login');
しかし、こうすると2行目で1行目のname('login')を上書きしてしまうため、ログイン画面のURLがどちらもcompany-demo2/loginになってしまい、
company-demo1は失敗します(DBも違うためそのまま進めることは不可能)。
そこで
name('login')がミドルウェアのどこで呼ばれているかを知りたいです。
ログイン後の遷移先については
LoginControllerでredirectPath()をオーバーライドすることで以下のように対応できています。
//ログイン後に遷移するURLをオーバーライドする。 public function redirectPath() { // セッションからグループURLを取り出す。 $group_url = request()->session()->get('group_url'); return $group_url.'/'; }
このような事を、ログイン画面を表示する箇所も動的に設定できるようにしたいです。
どなたかご教授願えませんか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。