Настройка аутентификации в Trac
Я занимаюсь настройкой сервера Trac для своей (небольшой) компании и нуждаюсь в небольшой помощи/руководстве по механизму аутентификации.
В течение некоторого времени мы разработали наше собственное веб-приложение, к которому наши пользователи получают доступ в своей повседневной работе. Он построен в php5.3 и включает базу данных пользователей, хранящуюся в базе данных mysql. Меня попросили изучить возможности для Trac использовать нашу существующую базу данных пользователей, чтобы свести обслуживание пользователей к минимуму. У вас есть есть какие-нибудь предложения или советы по этому поводу?
Вот что я придумал до сих пор:
- Установите Trac на нашем сервере (в настоящее время выполняется с помощью mysql/apache2/mod_python), но не предоставляйте доступ никому в сети.
- Напишите скрипт-оболочку php, который
- Обрабатывает механизм аутентификации.
- Передает запрос в Trac с включенным именем пользователя.
- Trac обрабатывает запрос как указанный пользователь
Проблема в том, что я не знать, как выполнить шаг 2.
Есть какие-нибудь комментарии?
С наилучшими пожеланиями Йорн
3 answers
То, что вы ищете, называется единым входом.
Вы используете Trac на Apache? В этом случае представляется возможным использовать интерфейсы аутентификации пользователей (LDAP...), с которыми может взаимодействовать Apache. Проверьте этот разговор.
Также доступны некоторые плагины единого входа по адресу Взломы трафика, среди них один LDAP.
Во-первых, не используйте mod_python, используйте mod_wsgi.
Во-вторых, у вас есть несколько вариантов того, как выполнить аутентификацию. Одним из вариантов может быть просто использование mod_authn_dbd с серверной частью MySQL, сохраняя ваш authn в конфигурации apache2.
В-третьих, загляните в аккаунт-менеджер Trac. Это один из самых полезных плагинов Trac (мы используем его на работе), и он поможет вам сделать это правильно. http://trac-hacks.org/wiki/AccountManagerPlugin
Просто краткое продолжение: в итоге я использовал ScriptAuthPlugin Карстена Фукса (изменив его на md5-хэш пароля). Как и в случае с traccosign, все, что вам нужно предоставить, - это адрес, по которому ScriptAuthPlugin может проверять учетные данные пользователя. Отлично работает:-)
Http://trac-hacks.org/wiki/ScriptAuthPlugin
~Йорн