Usersのページは下のコードのようにすればいいのは分かるのですが、
php
1//AppController.php 2public function beforeFilter(Event $event) 3 { 4 parent::beforeFilter($event); 5 $this->Auth->allow(['login', 'add', 'index']); 6 }
別のテーブル(Posts,Comments)のページでもログインしないでも入れるようにしたいです。
php
1//AppController.php 2public function beforeFilter(Event $event) 3 { 4 parent::beforeFilter($event); 5 $this->Auth->allow(['controller'=>'Users', 'action'=>['login', 'add', 'index']]); 6 }
のようにして他のページも指定しようとしたのですが
Warning (2): strtolower() expects parameter 1 to be string, array given [CORE/src/Controller/Component/AuthComponent.php, line 360]
というエラーが出ました。
引数にstrが来ることを想定しているとのことなので下のコードを書き換えればよいということでしょうか?
ご指導のほどよろしくお願いいたします。
php
1//vender/cakephp/cakephp/src/controller/component/AuthComponent.php 2protected function _isAllowed(Controller $controller) 3 { 4 $action = strtolower($controller->getRequest()->getParam('action')); 5 //360行目↓↓↓ 6 return in_array($action, array_map('strtolower', $this->allowedActions)); 7 }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/10 10:33