В настоящее время для авторизации в subversion мы пользуемся учётными данными из redmine (с помощью немного доработанного модуля к mod_perl из стандартной комплектации самого redmine) и когда возникла необходимость в появлении ещё одного внутреннего сервиса, который требовал авторизации, то немедленно захотелось использовать существующие аккаунты.


Появившимся сервисом оказался zabbix, веб-интерфейс которого написан на php. Я сделал несколько грубых попыток влезть в его нутро и прикрутить внешнюю авторизацию (пока redmine и zabbix раскручивались на одном сервере было легко манипулировать базами данных обоих, но после их разъезда это стало “затруднительно”), затем реализовал более изящную, как тогда показалось, идею – в zabbix (как и во многих других продуктах) имеется штатная возможность использовать авторизацию через ldap, мысль заключалась в том, чтобы реализовать набор стандартных функций расширения ldap в которых обращаться к БД и/или используя http api redmine.

***

К счастью наработки оказались бесследно утеряны, однако сама идея претерпела неожиданные мутации и выродилась в прямо противоположную реализацию. Вместо создания псевдо-ldap-клиента был сделан “сервер”. Он весьма прост и незатейлив и умеет лишь то, для чего создан – метод simple_bind для авторизации (реализован шутейный метод search, но лишь для того, чтобы тестировать запросы к серверу в процессе разработки стандартными утилитами).

Полученное оформлено в виде плагина к redmine, к тестированию которого теперь приглашаю всех желающих: код и краткая инструкция по запуску на github-е.

Жду комментарии и неудобные вопросы.

redmine_ldapserver
Tagged on:         

Leave a Reply