apiquestion
@apiquestion
Студент

CQRS и ограничение доступа?

Разрабатываю приложение с использованием паттерна CQRS. Приложение представляет собой REST API.
Предположим, есть endpoint /cars/1/?fields=model, year, owner. Допустим, у пользователя нет права на получение информации о владельце машины. Как и где лучше проверять имеет ли пользователь доступ к полю модели или вообще к выполнению команды/запроса?
  • Вопрос задан
  • 166 просмотров
Пригласить эксперта
Ответы на вопрос 1
@matperez
Права доступа к CQRS вообще не имеют отношения. Это как бы теплое и мягкое. Где-то на уровне приложения у вас должна быть служба ответственная за раздачу прав доступа. Если пользователь хочет выполнить какую-либо команду или запрос нужно сначала сходить к этой службе, узнать может ли он это сделать и только потом отправить агрегату команду или выполнить запрос, вот и все.

Ограничивать доступ на уровне отдельного поля мне не кажется хорошей идеей. Правильнее, либо выделить данные о владельце в отдельную сущность и уже к ней ограничивать доступ, либо ввести разные типы запроса: "с данными владельца" и "без данных о владельце" и ограничивать возможность совершать конкретные запросы.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы