Лучшие практики для разработки мультитенантного приложения с помощью Symfony2 и Doctrine2

Я работаю над приложением, которое должно поддерживать мультитенантную модель. Я использую php framework symfony2 и doctrine2.

Я не уверен, как лучше всего реализовать это требование. Предоставляет ли функция ACL Symfony часть решения?

Какие рекомендации или идеи вы могли бы дать? Существуют ли какие-либо образцы приложений symfony2 или приложений с открытым исходным кодом, которые реализовали эту стратегию?

Моя первая мысль - использовать столбец tenant_id во всех таблицах и связать его с объектом учетной записи в приложении. Я не уверен, что ACL должен заботиться о том, что я хочу сделать, или вы по-прежнему отвечаете за все запросы к своим объектам, чтобы они не возвращали неавторизованные данные.

Если бы я не использовал Doctrine, можно было бы просто добавить к каждому запросу Where tenant_id = @accountid , но я не уверен, что это правильный подход.

Спасибо

19
задан Jeremy 24 September 2011 в 12:34
поделиться