Multitenancy

0
No votes yet
Github
Координаты компонента:
Последняя версия:
1.2.0
Автор: 
Категория: 
Обновлено: 
Втр, 10/23/2018 - 18:07
Поддерживаемые версии: 
6.8
6.9
6.10
Лицензия: 
Ресурсы: 

Описание

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

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

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

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

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

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

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

Bugtracker

Открыть

Обсуждения

Просмотреть