Я работаю над приложением, которое должно поддерживать модель с несколькими арендаторами. Я использую рамки symfony2 php и doctrine2.
Я не уверен, что лучший способ сделать это. Является ли функция Symfony ACL частью решения?
Какие рекомендации или идеи вы могли бы предоставить? Есть ли примеры приложений symfony2 или приложений с открытым исходным кодом, которые доступны, которые внедрили эту стратегию?
Моя первая мысль - использовать столбец tenant_id во всех таблицах и связать это с объектом учетной записи в приложении. Я не уверен, хотя если ACL должен заботиться о том, что я хочу делать, или если вы все еще несете ответственность за все запросы против ваших объектов, чтобы они не возвращали неавторизованные данные.
Если бы я не использовал Doctrine, было бы легко сказать просто добавить Where tenant_id = @accountid
к каждому запросу, но я не уверен, что это правильный подход.
Спасибо