Я создаю саас, программное обеспечение как сервисный сайт с django.Django set django session cookie programatically
В соответствии с требованиями проекта пользователи находятся внутри схем/арендаторов, для чего им используется фантастическое приложение django-tenant-schemas, у одного пользователя могут быть учетные записи внутри разных схем (они делят имя пользователя и пароль) ... я хочу, чтобы пользователь переходите через разные схемы, которые они более или менее свободно ... для этого я создал представление, в котором пользователь может выбрать, на какой схеме он хочет быть включенным.
Когда я использую приложение с широким сеансом cookie, когда у меня есть параметр cookie как «.domain.ext» (django documentation), который отлично работает, но это НЕ то поведение, которое мы действительно хотим для нашего приложения.
Нам действительно нужно иметь разные версии приложения на разных вкладках браузера.
Таким образом, мы должны установить конфигурацию файла cookie в «domain.ext», затем все разрывается, потому что исходный вид находится на одном арендаторе, а следующее представление (где только что зарегистрированный пользователь действительно принадлежит) находится внутри другого арендатора, а затем старого cookie удаляется.
Итак, вопрос в том, как я могу программным образом установить cookie правильно на новом представлении, чтобы пользователь, который действительно принадлежит к этому тэтану, все еще аутентифицирован.
Или есть альтернативный подход, который мы могли бы использовать для этого? Любые примеры?
EDIT ПРОЯСНИТЬ как потребовано:
Лицо А принадлежит 2 схемы SH1 и SH2 на них обоих он имеет то же имя пользователя и пароль. При каждом изменении пароля хеш пароля реплицируется на всех схемах, к которым они принадлежат, поэтому им не нужно запоминать определенные пароли или имена пользователей.
Когда человек вошел в SH1 URL-адрес будет sh1.domain.com, когда он вошел в SH2 URL-адрес будет sh2.domain.com
Так позволяет сказать, что человек теперь регистрируется на схеме SH1 , он решает переключиться на схему SH2, чтобы иметь возможность сделать это, мне нужно, чтобы пользователь все еще был аутентифицирован, так что вид должен быть в схеме SH1, но затем перенаправлен на новую силу схемы, аутентифицирующую пользователя, но так как cookie (по умолчанию django), когда пользователь приземляется на следующий URL-адрес sh1.domain.com/, несмотря на то, что предыдущий файл cookie удален, и поэтому он должен снова войти в систему, чтобы иметь доступ.
Непонятно, какое поведение вы ищете. Предположим, у меня есть пользователь A, который принадлежит к схемам X и Y, и пользователь B, который принадлежит к схемам Y и Z. Какую структуру URL/домена вы хотите? Какое поведение вы ожидаете? Что вы хотите в качестве триггера для показа страницы входа? – freakboy3742