Rolify и actions_as_tenant с системой единого входа (с некоторыми устройствами Devise & Pundit на стороне) - это можно сделать?
Я собираюсь попытаться сделать это в своем приложении на Rails, но я подумал, что увижу, знает ли кто-нибудь о том, что меня остановит на треках.
Основная предпосылка заключается в том, что у меня есть следующие модели:
- Компания - арендаторы в act_as_tenant
- Пользователь - уникальные адреса электронной почты, общие для всех арендаторов, привязанных к Devise для аутентификации, т. Е. Единый вход
- Роль - через Rolify и затем использовать Pundit для авторизации
- Model1, Model2 и т. Д., При этом каждая запись принадлежит одной компании
Из того, что я прочитал до тех пор, пока я все настрою правильно, у меня будут раздельные данные об арендаторах, и тогда пользователи смогут переключаться между арендаторами, и их разрешения будут меняться соответственно.
Итак, мой конкретный вопрос:
Будет ли действовать act_as_tenant с Rolify?
Так, например, если пользователь-администратор в Tenant1 добавляет роль новому пользователю, будет ли эта роль автоматически применяться только к ресурсам, принадлежащим этому арендатору?
1 ответ
В итоге я получил жемчужину квартиры и мои модели User и Company в публичной схеме. У меня есть модель ролей, которая связывает пользователя с компанией и содержит роли, которые пользователь имеет для данной компании. Devise аутентифицирует пользователя, а Pundit использует роль для авторизации.