Есть ли модуль для управления файлом паролей htdigest в Perl?

Я управляю небольшим кластером разработки и системой репозитория, которую могут использовать несколько проектных групп с открытым исходным кодом. Я запускаю эти системы на добровольной основе. Недавно люди выразили обеспокоенность тем, что система репозитория использует базовую аутентификацию для доступа к системе репозитория SVN, поэтому я перевожу всю систему на дайджест-аутентификацию. Дело в том, что у меня есть ряд утилит, написанных вокруг базовой схемы, так что каждый человек может изменить свой собственный пароль SVN, как он пожелает.

Короче говоря, я ищу модуль Perl, который позволит мне быстро добавлять, удалять и изменять записи в файле паролей, сгенерированном htdigest. В идеале мне бы хотелось что-то похожее на модуль Apache::Htpasswd. Я прочитал, что вы можете использовать один из модулей шифрования для генерации перевариваемого пароля, а затем написать это с помощью модуля htpasswd, но я понятия не имею, как на самом деле реализовать это решение. Кроме того, я бы действительно предпочел не делать этого, потому что для этого потребовалось бы обширное переписывание множества пользовательских системных утилит. У кого-нибудь есть предложения?

~ KW

1 ответ

Для управления паролями есть интерфейс DBI: Apache:: AuthDBI и HTTPD:: UserAdmin.

Что касается конфигурации... она может быть устаревшей (она была построена в 2001 году), но Apache::ConfigFile может, по крайней мере, помочь вам начать работу в правильном направлении. Файл.htaccess - это просто очень локализованная (в вашей структуре каталогов) версия файла конфигурации сервера.

Если формат файла конфигурации Apache значительно изменился, этот модуль может не обрабатывать все, что вам нужно, но, взглянув на его код, вы, по крайней мере, сможете выяснить, как работать с более современной реализацией.

Существует также Apache:: ConfigParser, который был обновлен по крайней мере в 2005 году. Он может быть ближе к "текущему". Или может быть еще одним хорошим источником информации для создания собственного решения.

ОБНОВЛЕНИЕ: О, я нашел то, что выглядит как более полнофункциональный и актуальный вариант для вас. Apache:: Admin:: Config. Опять же, поскольку.htaccess - это просто файл конфигурации, локализованный по пути, в том же формате, что и файл для всего сервера, этот модуль может вам помочь. -- Наслаждаться.

Другие вопросы по тегам