Как я могу проверить, покинул ли пользователь мою форму входа? Не войти в систему, а выйти из нее?
Поскольку я хочу удалить сеанс Auth.redirect, если они решат не входить в систему, чтобы, когда они вернутся позже, они не попали в свой предыдущий сеанс!
Итак, по существу, это:
$this->Session->delete('Auth.redirect');
Я думаю, какая-то проверка в AppController, которая знает, когда пользователь был направлен из формы входа, и удаляет сеанс auth.redirect???
Или еще лучше проверить, является ли текущая страница формой входа, и если нет, то удалить сеанс!!!
и для тех, кому интересно, вот как сейчас выглядит мой метод входа в систему:
function login()
{
if(!(empty($this->data)) && $this->Auth->user())
{
$back_to = $this->Session->read('back_to');
$auth_redirect = $this->Session->read('Auth.redirect');
if($auth_redirect)
{
$this->redirect($auth_redirect, null, true);
}
else if($back_to)
{
$this->redirect($back_to, null, true);
}
else
{
$this->redirect($this->Auth->redirect(), null, true);
}
}
else
{
$this->Session->write('back_to', $this->referer());
}
}
Спасибо
Auth.redirect
не остается навсегда. Сеанс в конечном итоге истечет, обычно в течение нескольких часов, что делает этот крайний случай еще более редким. - person deceze♦   schedule 26.08.2011