Когда пользователь входит в систему и пытается получить доступ к определенному действию, которое он не имеет права просматривать, пользователь перенаправляется на «/» (даже при определенных обстоятельствах вы можете получить циклическое поведение).
Я искал решения этой проблемы, но ничего не нашел.
Я написал несколько строк в app_controller.php, чтобы перенаправить зарегистрированных пользователей на страницу с ошибкой («у вас нет прав доступа ...»), но я не уверен, что я испортил код.
Не могли бы вы мне посоветовать? Спасибо.
В app_controller.php:
var $components = array('Auth');
function beforeFilter() {
$allowedActions = array_map('strtolower', $this->Auth->allowedActions);
if (!($this->Auth->allowedActions == array('*') || in_array($this->action, $allowedActions))) {
$_SERVER['HTTP_REFERER'] = Router::url(array('controller' => 'page', 'action' => 'error'));
}
}