Разрешение пользователям входить в систему с несколькими учетными записями одновременно на одном и том же сайте Django - PullRequest
1 голос
/ 31 мая 2011

Я создаю виджет, который устанавливается на разных сайтах, и мне нужны отдельные пользователи для каждого сайта. Проблема в том, что один и тот же человек, просматривающий страницу, может открыть сразу 2 разных сайта, использующих мой виджет. Это означает, что мне нужно, чтобы пользователи входили в систему с несколькими учетными записями одновременно на одном и том же сайте Django.

Насколько я понимаю, Django обычно предполагает, что в сеанс вошел только 1 пользователь.

Какой самый простой и эффективный способ сделать это?

Ответы [ 2 ]

1 голос
/ 06 июня 2011

Я закончил тем, что сохранил данные для каждого сайта в сеансе пользователя, т.е. session['site_id_1'] = user_obj_1, session['site_id_2'] = user_obj_2 и т. Д. *

Вместо входа в систему я просто сохраняю пользовательские данные в соответствующем ключе. Вместо выхода я удаляю ключ для сайта.

0 голосов
/ 31 мая 2011

Я думаю, что вы должны переписать промежуточное программное обеспечение сеанса.В реализации по умолчанию сеанс хранится в базе данных, ключ сеанса сохраняется в cookie, а имя cookie определяется в settings.py.

Так что, если вы пишете свое собственное промежуточное программное обеспечение сеанса, вы можете определить разные имена cookieдля каждого сайта и извлеките сеанс из базы данных соответственно. django.contrib.sessions.middleware.SessionMiddleware - хороший шаблон.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...