Типа проверка абилити у пользователя? Ну просто задай проверки и закешируй его обращение к ресурсу, чтоб другие пользователи не лезли в базу. Можно просто хранить после Role в JWT, но это плохая практика, обычно. (Но никто не мешает, на самом деле и в случае чего просто сменить токен на сервере)
Рбак-абак и вот это вот все
Не понял
Роли хранятся в jwt, сказали что пока нет необходимости это держать в БД, также предлагал это. Из того что мне не нравится это то, что на каждый модуль нужно будет писать какой-то свой миделвар для проверки, можно ли это как-то в сервисах делать?
Советовали так но ничего не понял Как вариант, checkPermission({user: currentUser, entity, ownershipCheck: async() => {…}}) Можно реализовать подобный метод 1. проверяешь роль 2. если роль имеет доступ только для *:own тогда запускаешь ownershipCheck (опциональная, по дефолту false) Ну что-то такое Но мне кажется что там модна все проще и не оверинженирить.
Сделай класс, который будет принимать json-файл с ролями и списком доступных ему ресурсов и при обращении проверяй. Типа "роль экспрет — доступ к таким-то ресурсам"
По идее так и работает, только нет проверки на владельца ресурса.
Ну ты же как-то можешь определить кто владелец? Просто сделай исключение для чела с owner доступом. Как отдельную роль, со списком id ресурсов.
casl заюзать
У нас аналог https://www.npmjs.com/package/accesscontrol
Обсуждают сегодня