Multitenancy

0
No votes yet
Github
Координаты компонента:
Последняя версия:
1.3.0
Автор: 
Категория: 
Обновлено: 
Пнд, 03/18/2019 - 14:59
Поддерживаемые версии: 
6.8
6.9
6.10
7.0
Лицензия: 
Ресурсы: 

Описание

Поддержка мультиарендности (multitenancy) с общей БД в приложениях CUBA.

Ключевая идея состоит в том, что единый экземпляр приложения обслуживает множество «арендаторов» - групп пользователей, невидимых друг для друга, которые не обмениваются данными и не имеют доступа к данным друг друга.

Приложение поддерживает два типа данных - общие данные (доступные всем арендаторам) и личные данные конкретного арендатора. Общие данные доступны арендаторам в режиме “только для чтения”, тогда как к собственным данным у них есть полный доступ. Также для всех арендаторов существует собственный пользователь-администратор, который наделен правами создания арендаторов, назначения ролей и специальных разрешений.

Компонент представляет собой реализацию мультиарендности с единой базой данных/схемой БД. Для обозначения владельца данных используется столбец TENANT_ID в таблицах арендаторов.

Все сущности, специфичные для арендаторов, реализуют интерфейс HasTenant, весь смысл которого в обеспечении геттеров и сеттеров для атрибута tenant id в классе сущности.

Пример приложения.

Вам есть что добавить?

Bugtracker

Открыть

Обсуждения

Просмотреть