Cakephpにて各Controllerファイルに認証を要求するためにAppController.php(すべてのControllerが承継するController)に公式マニュアルに従って以下のコードを追加しました。
PHP
1class AppController extends Controller 2{ 3//デフォルトコード 省略 4 5//追加したコード 6$this->loadComponent('Auth', [ 7 'authenticate' => [ 8 'Form' => [ 9 'fields' => [ 10 'username' => 'email', 11 'password' => 'password' 12 ] 13 ] 14 ], 15 'loginAction' => [ 16 'controller' => 'Users', 17 'action' => 'login' 18 ], 19 'logoutRedirecr'=>[ 20 'controller'=>'Top', 21 'action'=>'index' 22 ], 23 //未認証の場合、直前のページに戻します 24 'unauthorizedRedirect' => $this->referer() 25 ]);
このコードを追加することですべてのControllerで認証が必要になるはずです。
しかし、承継先のControllerで以下のコードを入れていた場合に認証が不要になってしまいます。
こちらの原因と対策についてご教示いただけますと幸いです。
PHP
1 public function initialize(){ 2 $this->viewBuilder()->layout('XXXX'); 3 4 }
public function initializeはController内のすべてのアクションに適用する処理を記述するものと認識しています。
アクションの処理は個別に設定するしかないのでしょうか。
宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/28 05:42