Коллеги, добрый день!
Заинтересовал вопрос распределения ролей.
Прочитала пару тройку статей на эту тему.
В принципе, уже всё подготовил в своём приложении.
Создал примитивную систему Middleware.
Например:
В контроллере, в конструкторе я говорю программе.
Я хочу сначала верифицировать пользователя, а потом проверить его роль в системе
public function __construct(DI $di)
{
parent::__construct($di);
$this->getMiddleware()
->execute(new Verification)
->execute(new ProtectMethods('add|get|delete'));
$this->userRepository = new UserRepository($this->em);
}
Middleware для проверки роли.
public function handle()
{
list($obj, $method) = explode(":", Common::getController());
if (in_array($method, $this->methods)) {
// здесь будем проверять, что разрешено или запрещено юзеру
}
}
Планирую что роль будет содержать маски
R - Чтение
W - Запись
V - Просмотр
Так-же планируется комбинация RW или RWV
Неужто будет проверка if else?
Как это делают адекватные люди?
Для понимания добавлю объект иерархии хранения информации
Объект отражает уровень нормализации базы данных!