CakePHP3(CakePHP3.6)に CakeDC/Usersプラグインを入れて、会員認証機能を作成しています。
その際、ログインした際のリダイレクト先の指定として、下記の様に指定をしています。
/config/users.php
PHP
1 'Auth' => [ 2 'loginRedirect' => [ 3 'role' => 'admin', 4 'controller' => 'News', 5 'action' => 'index', 6 ], 7 ], 8
この場合、adminユーザでログインすると想定の通りの動作になります。
PHP
1 'Auth' => [ 2 'loginRedirect' => [ 3 'role' => 'user', 4 'controller' => 'News', 5 'action' => 'user_index', 6 ], 7 ], 8
また、adminユーザのほかに「user」権限のユーザがありますが、その時は、上記の様に記述すると、想定している動作になります。
ですが、これをどちらの動作も記述したい場合は、どのように記述すればいいのでしょうか?
下記の様に普通に並べて書いてもダメでした。
PHP
1 'Auth' => [ 2 'loginRedirect' => [ 3 'role' => 'user', 4 'controller' => 'News', 5 'action' => 'user_index', 6 ], 7 'loginRedirect' => [ // ログイン後 8 'role' => 'admin', 9 'controller' => 'News', 10 'action' => 'index', 11 ], 12 ], 13
下記の様に配列として設定してみてもダメでした。
PHP
1 'Auth' => [ 2 'loginRedirect' => [ 3 [ 4 'role' => 'user', 5 'controller' => 'News', 6 'action' => 'user_index', 7 ], 8 [ 9 'role' => 'admin', 10 'controller' => 'News', 11 'action' => 'index', 12 ], 13 ], 14 ], 15
もしくは、「loginRedirect」の処理は、1つしか記述しないような想定になっており、どこかの処理に飛ばしたうえで、自分で振り分けをする処理を記述するものなのでしょうか?
ご存知の方がいらっしゃいましたら、お教えいただけませんでしょうか?
あなたの回答
tips
プレビュー