Идея довольно проста.Если вы не вошли в систему, у вас нет доступа ни к одной странице, кроме страницы регистрации и входа.Если вы вошли в систему, у вас есть доступ ко всем страницам, кроме страницы регистрации.
Теперь половина этого достигается с помощью компонента авторизации CakePHP.Это ограничивает доступ, когда он не зарегистрирован, и разрешает доступ при входе в систему.
Проблема, с которой я столкнулся при этом, заключалась в ограничении доступа к странице регистрации при входе в систему.Я пробовал разные методы, все с одинаковым результатом: страница регистрации была по-прежнему доступна.
Нужна помощь, поскольку я застрял с этой проблемой.
Вот часть моего кода (beforeFilter() в классе UsersController; register () будет действием внутри этого контроллера):
function beforeFilter(){
parent::beforeFilter();
$this->Auth->allow("register");
if($this->Auth->user()){//if user is logged in...
$this->Auth->deny("register");//...deny his access to register and login page
}
}