Вечный логин
Используя встроенный в CakePHP компонент для аутентификации пользователей, AuthComponent, можно легко обеспечить возможность ввода логина и пароля до морковкиного заговения. :-)
Самым нетерпеливым раскрываю суть: запретите доступ неавторизованному пользователю к действию logout. :-)
Схема работы методов компонента простая. Если пользователь неавторизован, то URL, который он запрашивает сохраняется в сессии, а сам пользователь перенаправляется на страницу авторизации. При выходе (вызов метода logout) — все наоборот: запоминается referer, данные о пользователе убираются из сессии, он становится неавторизованным и перенаправляется обратно, на тот URL, с которого пришел.
Если неавторизованному пользователю запретить доступ к logout, при попытке обращения к этому действию, пользователь будет перенаправлен на страницу входа, наберет логин-пароль и отправится сразу на запрашиваемую им страницу с выходом, там его авторизация закончится и он снова будет отправлен на страницу входа…
Надо доступ к logout все-таки всем разрешать. И, на всякий случай, в начале метода написать
if (!$this->Auth->user()) $this->cakeError('error404');
Ибо нефиг искать выход, если еще не вошел :-)



