Я создаю приложение Django, в котором есть несколько «пользовательских пространств» или «клиентских доменов». Мне было интересно, как я мог отделить каждого клиента от доступа к данным других? На данный момент у меня есть несколько вариантов:
- Распределение одного проекта на клиента с собственной базой данных
- Поддержание работоспособности одной базы данных и одного django (две опции)
- a) Добавьте таблицу верхнего уровня с некоторым идентификатором для ссылки в каждой модели. Но тогда как мне запретить кому-либо олицетворять чужой идентификатор и получать доступ к его данным?
- b) Создайте некоторый уровень авторизации поверх запросов, используя заголовок или какой-либо параметр запроса, чтобы помочь определить, к каким данным пользователь может получить доступ (но я действительно не знаю, как это сделать)
Каков современный уровень в области нескольких клиентов, использующих одно и то же приложение Django? Являются ли мои решения подходящими, и если да, то как мне их реализовать?
Я видел несколько связанных постов / статей в интернете, поэтому я прибегаю к вопросу здесь.
Заранее спасибо!