Нужен один логин для двух разных сайтов - PullRequest
2 голосов
/ 12 мая 2010

Мне поручено создать сайт, используя Django. Это будет «родственный» сайт существующего сайта Plone. Тот же экземпляр Apache будет внешним интерфейсом для сайтов, что позволяет мне использовать одно и то же доменное имя.

Однако владельцы хотят, чтобы пользователи могли входить в один и при этом входить в другой.

Как это можно сделать?

Спасибо! :)

Ответы [ 5 ]

1 голос
/ 13 мая 2010

Внутренняя реакция заключается в использовании OAuth - см. Как создать безопасный единый вход Django между различными сайтами?

Кроме того, вы пробовали это приложение для единого входа - http://code.google.com/p/django-sso/?

0 голосов
/ 22 августа 2010

Здесь есть две проблемы: общий вход и единый вход. Вход на основе LDAP или SQL даст вам первое, но вам все равно придется вводить пароль на обоих сайтах. Вам нужен единый вход, чтобы оставаться в системе через bpth.

plone.session 3.0 (часть Plone 4, но совместимо с Plone 3.3, если вы также добавляете hashlib в свою сборку) совместимо с Apache mod_auth_tkt единый вход. Это должно быть достаточно просто, чтобы настроить Django для использования аутентификации Apache, или, если вы не используете Apache, оберните файл plone.session tktauth.py в простую оболочку wsgi. Используйте сценарий require_login сайта Plone в качестве TKTAuthLoginURL.

0 голосов
/ 02 июня 2010

Вы можете переместить аутентификацию в SQLPASPlugin и использовать ту же таблицу для Django и Plone.

0 голосов
/ 23 мая 2010

Моя внутренняя реакция - использовать LDAP. Поддержка LDAP в Plone немного грубовата, но работает. Есть ли в Django эквивалентная или лучшая поддержка LDAP? Если так, то я думаю, что вы запущены ...

0 голосов
/ 15 мая 2010

Также ознакомьтесь с документацией Django о том, как реализовать собственный бэкэнд авторизации, по адресу http://docs.djangoproject.com/en/dev/topics/auth/#writing-an-authentication-backend

...