Привет, я пытался найти способ получить сертификаты x509 для аутентификации для Trac, но я не смог найти никаких плагинов на TracHacks или руководств по этому поводу.
Самое близкое, что я видел до сих пор, - это пост в группах Google
http://groups.google.com/group/trac-users/browse_thread/thread/0ea6cb82058eb9a9?pli=1
Кто-нибудь знает, где я могу найти соответствующую информацию, или как я могу это сделать?
Спасибо
Trac (vainilla) делегирует свою аутентификацию apache (или другому серверному программному обеспечению), а авторизацию - trac. Итак, лучший способ сделать то, что вы пытаетесь сделать, - это выдать сертификаты серверу и пользователям и настроить apache для его использования с помощью FakeBasicAuth
Директива apache mod_ssl.
и настройте VirtualHost:
<VirtualHost 127.0.0.1:443>
SSLEngine on
SSLProtocol all
SSLCipherSuite HIGH:MEDIUM
SSLCertificateFile /path/to/server.crt
SSLCertificateKeyFile /path/to/server.key
SSLCACertificateFile /path/to/ca.crt
SSLCARevocationPath /path/to/crl
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
SSLVerifyClient optional
SSLVerifyDepth 1
<Directory /path/to/project/>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /path/to/
PythonOption TracUriRoot /
SetEnv PYTHON_EGG_CACHE /var/cache/python-eggs
SSLOptions +StdEnvVars
SSLOptions +FakeBasicAuth
AuthName trac
AuthType Basic
AuthUserFile /path/to/passwd
Require valid-user
</Directory>
</VirtualHost>
Затем вам понадобится файл htpasswd, содержащий DN сертификата как пользователя и хэш xxj31ZMTZzkVA
как пароль.
Вы можете поделиться схемой аутентификации с Subversion по https, и тогда имена пользователей будут совпадать с коммитерами
Также есть проблема с именами пользователей. Я решил исправить сам код трассировки, используя что-то похожее на это патч
Я также использую почту пользователя как «CN», поэтому без настройки trac знает, куда отправлять электронные письма с билетами.
Все это для trac 0.11 и 0.10 Я еще не обновил trac.