Ролевая модель cards

Ролевая модель применяется только в API, в GUI её нет. Сделана через заголовки. Если они не указаны (и есть только токен авторизации), то всё работает как будто и нет никаких ограничений.

1. user-id

Если указать заголовок user-id и идентификатор юзера существующего, то он может видеть и редактировать только своё: 

  • Только себя видит в getAllUsers и getUser (getUser по другому юзеру дает «У вас нет прав на просмотр этого пользователя)

  • Аналогично в getAllCardOfUser и остальных гетах

  • addUser, addUserWithCards  — недоступны

  • DeleteUser — только себя может удалить

  • addCard и прочие манипуляцие с картой — только со своими (где его user_id)

2. Роли

Заголовок role, значения:

  • card_viewer — может просматривать данные по карточкам, менять не может

  • user_viewer — может просматривать данные по юзерам (карты не видит), менять не может

  • viewer — может просматривать все данные, менять не может

  • card_editor — может смотреть и менять данные по карточкам (создавать может, удалять нет), пользователей видит, менять не может

  • editor — видит и редактирует всё, только удалять не может

  • remover — может удалять, больше ничего не может

 

Роли можно указать через запятую и/или пробел:

  • user_viewer,card_viewer

  • user_viewer, card_viewer

  • user_viewer card_viewe

 

И они применятся “и та, и другая”. Если не указывать, то можем вообще все.

Если вместе с user-id, то накладываются еще и ограничения по user-id.