30 lines
1.3 KiB
PHP
30 lines
1.3 KiB
PHP
<?php
|
||
/**
|
||
* @package Bicycle
|
||
* @author Egor Isaev
|
||
* @description AdminController.php
|
||
* @copyright (c) 24/06/2026
|
||
*/
|
||
|
||
namespace App\Controller\Admin;
|
||
|
||
use System\Classes\Controller;
|
||
|
||
/**
|
||
* Базовый контроллер админки. Рендерится в общем layout сайта
|
||
* (App/view/layout.html), своего отдельного шаблона не имеет.
|
||
* Боковое меню — общее для всего сайта, см. Controller::menuSide()
|
||
* (для роли admin оно показывается на любой странице, не только в админке).
|
||
* Требует авторизацию с ролью admin (см. Controller::$_auth_protection/$_auth_roles) —
|
||
* неавторизованный редиректится на /login, авторизованный без роли admin получает 403.
|
||
* Конкретные страницы (Logs и т.п.) наследуют его.
|
||
*/
|
||
abstract class AdminController extends Controller
|
||
{
|
||
/** @var bool Доступ в админку только авторизованным пользователям */
|
||
protected bool $_auth_protection = true;
|
||
|
||
/** @var array<int,string> В админку пускаем только роль admin */
|
||
protected array $_auth_roles = ['admin'];
|
||
}
|