In my CakePHP app, I want to include a login form on every page with a login button if the user is not logged in and a logout button if they are logged in.
Here is my Auth configuration in AppController.php
var $components = array
(
'Auth' => array
(
'authenticate' => array
(
'Form' => array
(
'fields' => array('username' => 'email'),
'passwordHasher' => array
(
'className' => 'Simple',
'hashType' => 'sha256'
)
)
)
),
'Session'
);
I want to set a flag that is usable in all the views to check if the user is logged in. I have tried to do this through AppController::beforeFiter()
function beforeFilter()
{
parent::beforeFilter();
$this->layout = 'default';
var_dump($this->Auth->user());
$this->set("isLoggedIn",$this->Auth->loggedIn());
}
Every controller works except the PagesController. Just to make sure that it isn't an allow/deny issue this is PagesController::beforeFilter
function beforeFilter()
{
parent::beforeFilter();
$this->Auth->allow();
}
AppController::beforeFilter() does in fact get called when I go to my home page but the var_dump($this->Auth->user()) in AppController::beforeFilter() prints NULL.
Is user Authentication not available for static pages?