I was trying to implement auth in a plugin that I created. Lets suppose there is a controller name Team, in which there are few functions like login() logout() index() apart from other crud functions.
Following is the sample code of team controller namespace Team\Controller; use Team\Controller\AppController; use Cake\Event\Event; use Cake\Network\Exception\NotFoundException; class TeamsController extends AppController { public function beforeFilter(\Cake\Event\Event $event) { $this->Auth->allow(['login','logout']); } public function index() { $this->paginate = [ 'contain' => ['TeamRoles'] ]; $this->set('teams', $this->paginate($this->Teams)); $this->set('_serialize', ['teams']); } public function login() { $this->layout = 'logindefault'; if ($this->request->is('post')) { $user = $this->Auth->identify(); if ($user) { $this->Auth->setUser($user); return $this->redirect($this->Auth->redirectUrl()); } $this->Flash->error(__('Invalid username or password, try again')); } } public function logout() { return $this->redirect($this->Auth->logout()); } Above code is working fine, if i directly go to the login url. But If i am trying to go to index page. It redirects me to the users controller login function which for obvious reason don't exist. Following is my app controller code. namespace Team\Controller; use App\Controller\AppController as BaseController; use Cake\Event\Event; class AppController extends BaseController { public $components = array( 'Auth' => array( 'loginRedirect' => array( 'controller' => 'Teams', 'action' => 'index' ), 'logoutRedirect' => array( 'controller' => 'Teams', 'action' => 'login' ), 'authenticate' => array( 'Form' => array( 'userModel' => 'Teams' ) ), ) ); public function isAuthorized($user) { return false; } public function initialize() { $this->loadComponent('Flash'); } } Kindly let me know, what have I missed?? -- Like Us on FaceBook https://www.facebook.com/CakePHP Find us on Twitter http://twitter.com/CakePHP --- You received this message because you are subscribed to the Google Groups "CakePHP" group. To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscr...@googlegroups.com. To post to this group, send email to cake-php@googlegroups.com. Visit this group at http://groups.google.com/group/cake-php. For more options, visit https://groups.google.com/d/optout.