Теперь создадим страницу Not Authorized (см. рисунок 17.13), на которую мы будем перенаправлять пользователей, если они пытаются перейти на веб-страницу, к которой у них нет доступа.
Добавьте следующий маршрут в файл module.config.php модуля User:
return [
'router' => [
'routes' => [
'not-authorized' => [
'type' => Literal::class,
'options' => [
'route' => '/not-authorized',
'defaults' => [
'controller' => Controller\AuthController::class,
'action' => 'notAuthorized',
],
],
],
],
],
];
Затем добавьте метод notAuthorizedAction()
в AuthController
в модуле User
:
/**
* Отображает страницу "Not Authorized".
*/
public function notAuthorizedAction()
{
$this->getResponse()->setStatusCode(403);
return new ViewModel();
}
Наконец, добавьте шаблон представления not-authorized.phtml под каталог user/auth под директорией view модуля User:
<?php
$this->headTitle("Not Authorized");
?>
<h1>Not Authorized</h1>
<div class="alert alert-warning">Sorry, you have no permission to see this page.</div>
Теперь, если вы введете следующий URL в адресную строку своего браузера, вы увидите страницу Not Authorized: "http://localhost/not-authorized".