Настройка аутентификации в Trac


Я занимаюсь настройкой сервера Trac для своей (небольшой) компании и нуждаюсь в небольшой помощи/руководстве по механизму аутентификации.

В течение некоторого времени мы разработали наше собственное веб-приложение, к которому наши пользователи получают доступ в своей повседневной работе. Он построен в php5.3 и включает базу данных пользователей, хранящуюся в базе данных mysql. Меня попросили изучить возможности для Trac использовать нашу существующую базу данных пользователей, чтобы свести обслуживание пользователей к минимуму. У вас есть есть какие-нибудь предложения или советы по этому поводу?

Вот что я придумал до сих пор:

  1. Установите Trac на нашем сервере (в настоящее время выполняется с помощью mysql/apache2/mod_python), но не предоставляйте доступ никому в сети.
  2. Напишите скрипт-оболочку php, который
    1. Обрабатывает механизм аутентификации.
    2. Передает запрос в Trac с включенным именем пользователя.
  3. Trac обрабатывает запрос как указанный пользователь

Проблема в том, что я не знать, как выполнить шаг 2.

Есть какие-нибудь комментарии?

С наилучшими пожеланиями Йорн

Author: retracile, 2010-02-17

3 answers

То, что вы ищете, называется единым входом.

Вы используете Trac на Apache? В этом случае представляется возможным использовать интерфейсы аутентификации пользователей (LDAP...), с которыми может взаимодействовать Apache. Проверьте этот разговор.

Также доступны некоторые плагины единого входа по адресу Взломы трафика, среди них один LDAP.

 0
Author: Pekka 웃, 2010-02-17 16:03:02

Во-первых, не используйте mod_python, используйте mod_wsgi.

Во-вторых, у вас есть несколько вариантов того, как выполнить аутентификацию. Одним из вариантов может быть просто использование mod_authn_dbd с серверной частью MySQL, сохраняя ваш authn в конфигурации apache2.

В-третьих, загляните в аккаунт-менеджер Trac. Это один из самых полезных плагинов Trac (мы используем его на работе), и он поможет вам сделать это правильно. http://trac-hacks.org/wiki/AccountManagerPlugin

 3
Author: djc, 2010-02-17 15:59:43

Просто краткое продолжение: в итоге я использовал ScriptAuthPlugin Карстена Фукса (изменив его на md5-хэш пароля). Как и в случае с traccosign, все, что вам нужно предоставить, - это адрес, по которому ScriptAuthPlugin может проверять учетные данные пользователя. Отлично работает:-)

Http://trac-hacks.org/wiki/ScriptAuthPlugin

~Йорн

 0
Author: Jørn Christensen, 2010-02-23 10:12:14