Нет сложных правил, подобных встроенным в Cake Auth. Вам придется вручную проверять наличие подобных условий. Это очень просто:
// Controller
function register() {
if ($this->Auth->user()) {
$this->redirect(/* somewhere else */);
}
}
Вопреки ответу mlevits, вам не нужно ничего хранить в сеансе, информация легко доступна из самого AuthComponent. http://book.cakephp.org/view/387/user
Есть также пример, как это сделать, динамически используя deny()
, но это не так ясно в простом случае, как это ИМХО. http://book.cakephp.org/view/383/deny
Кроме того, deny()
создает сообщение об ошибке («Вы не авторизованы для доступа к этому местоположению»), что, вероятно, не то, что вы хотите для удобства пользователя в этом случае.