IgorPI
@IgorPI

Организация распределения ролей пользователей?

Коллеги, добрый день!
Заинтересовал вопрос распределения ролей.
Прочитала пару тройку статей на эту тему.

В принципе, уже всё подготовил в своём приложении.
Создал примитивную систему 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?

Как это делают адекватные люди?

Для понимания добавлю объект иерархии хранения информации

Объект отражает уровень нормализации базы данных!
5d31c6c000231140742595.png
  • Вопрос задан
  • 75 просмотров
Пригласить эксперта
Ответы на вопрос 2
xEpozZ
@xEpozZ
Веб-разработчик
Да, проверки будут if else, а как еще?

if (!$this->canView($user)) { 
    throw new Exception();
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
от 55 000 до 80 000 руб.
WACDAQ Москва
от 120 000 руб.
Paxport Москва
от 140 000 до 190 000 руб.