Аутентификация (Django) Sharing через два сайта, которые находятся на различных доменах

Если я понимаю Ваш вопрос, Вы хотите влиять на то, какие столбцы возвращаются первые, вторые, третьи, и т.д. в существующий запросы, правильно?

, Если все Ваши запросы записаны с SELECT * FROM TABLE - тогда, они обнаружатся в выводе, поскольку они размечаются в SQL.

, Если Ваши запросы записаны с SELECT Field1, Field2 FROM TABLE - тогда порядок, они размечаются в SQL, не имеет значения.

14
задан Terry J 17 October 2009 в 06:48
поделиться

3 ответа

Ваше третье требование может быть легко решено путем совместного использования одной и той же базы данных между двумя сайтами ( поэтому иметь ту же таблицу пользователей.

Первое требование является сложным из-за проблем с несколькими доменами (cookie сеанса не будет использоваться совместно).

То, что вы действительно ищете, это Single Sign On (SSO) . Вы можете рассмотреть django-openid .

6
ответ дан 1 December 2019 в 13:47
поделиться

Это зависит от ваших требований. Если вы можете, простое решение - просто разместить оба сайта на одном экземпляре Django. Другими словами, ваш проект Django обслуживает оба сайта, но у вас есть правило перезаписи URL , которое сопоставляет foo.com с http: // localhost / foo / и bar.com по http: // localhost / bar / . Система аутентификации Django будет «просто работать» в этом сценарии. Конечно, правила перезаписи также могут применяться к субдоменам; Я построил систему, в которой размещены сотни поддоменов, используя эту технику.

Если это не вариант, совместное использование баз данных между вашими экземплярами Django и установка SESSION_COOKIE_DOMAIN , как упоминалось другими, должны работать.

6
ответ дан 1 December 2019 в 13:47
поделиться

Я думаю, что вам нужен параметр SESSION_COOKIE_DOMAIN . Вы должны установить его так:

SESSION_COOKIE_DOMAIN = 'foo.com'

См. http://docs.djangoproject.com/en/dev/topics/http/sessions/#session-cookie-domain для получения дополнительной информации об этом. Это предполагает, что оба приложения используют одну и ту же серверную часть хранилища сеансов.

0
ответ дан 1 December 2019 в 13:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: