Настройка аутентификации в Trac - PullRequest
2 голосов
/ 17 февраля 2010

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

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

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

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

Проблема в том, Я не знаю, как сделать шаг 2.

Есть комментарии?

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

Ответы [ 3 ]

3 голосов
/ 17 февраля 2010

Прежде всего, не используйте mod_python, используйте mod_wsgi.

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

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

0 голосов
/ 23 февраля 2010

Просто быстрое продолжение: я использовал Carsten Fuchs ScriptAuthPlugin (изменив его на md5-hash пароль). Подобно TracCoSign, все, что вам нужно предоставить, - это адрес, по которому ScriptAuthPlugin может проверять учетные данные пользователя. Работает красиво: -)

http://trac -hacks.org / вики / ScriptAuthPlugin

~ Йорн

0 голосов
/ 17 февраля 2010

То, что вы ищете, называется Single Sign On.

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

Есть также некоторые плагины SSO, доступные на Trac Hacks , среди них LDAP.

...