Существует ли простое веб-приложение, позволяющее пользователям LDAP управлять своими учетными записями?

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

Наиболее важным моментом является предоставление пользователям возможности сбрасывать свои собственные пароли с помощью кода сброса на основе адреса электронной почты. Чтобы сделать это возможным, в дополнение к схеме posixAccount, которую я уже использую, я хотел бы всегда требовать подтвержденный адрес электронной почты.

Я ищу одноцелевое веб-приложение, которое относительно легко настроить на сервере * nix, которое будет:

  • пройти аутентификацию в каталоге LDAP,
  • разрешить пользователям изменять свое имя, адрес электронной почты и другие контактные данные, но видеть только свою учетную запись,
  • разрешить пользователям сбрасывать свой пароль с достойным набором требований к надежности пароля (это может быть обеспечено сервером LDAP, но пользователю необходимо показать правила),
  • обрабатывать процесс проверки адресов электронной почты при изменении

Кроме того, было бы неплохо, если бы он:

  • обрабатывать дополнительные поля значений LDAP, такие как открытые ключи SSH,
  • может дополнительно потребоваться двухфакторная аутентификация или какое-либо вторичное одобрение, чтобы сброс пароля не зависел на 100% от безопасности учетной записи электронной почты пользователя.

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

¹ База данных LDAP используется в качестве механизма проверки подлинности набором различных служб. Единственная схема аутентификации, которую поддерживают все эти службы, — это LDAP, поэтому я не могу заменить ее ничем другим.

Сам не пробовал, но может подойдет phpLDAPAdmin ? См . здесь руководство по установке .
@ Иззи Даже близко нет. У меня это уже работает, и я использую его для администрирования базы данных, но даже для этого он громоздкий и почти не соответствует ни одному из вышеперечисленных требований. Он не может обрабатывать регистрацию, проверку полей или сброс пароля.

Ответы (2)

Вот три веб-приложения с открытым исходным кодом, и хотя ни одно из них полностью не соответствует вашим потребностям, вы можете комбинировать два или более, чтобы делать то, что вам нужно.

Я использую LdapCherry , чтобы пользователи могли редактировать информацию своей учетной записи LDAP и менять свои пароли. Это приложение Python, в котором используется веб-фреймворк cherrypy, и, ИМХО, его довольно легко реализовать. Он не поддерживает проверку по электронной почте или токены сброса пароля на основе электронной почты. Я использую его в сочетании с системой паролей самообслуживания проекта LDAP Toolbox , чтобы позволить моим пользователям сбрасывать забытые пароли или пароли с истекшим сроком действия. Это приложение на основе PHP, которое несколько сложнее в развертывании и настройке. Согласно их странице Github, он также может позволить пользователям устанавливать атрибуты LDAP для ключей SSH, но я этого не пробовал.

В прошлом я реализовал PWM (не могу опубликовать ссылку. Найдите github) для корпоративной среды. Он поддерживает сброс пароля с помощью токена электронной почты и создания учетной записи. Это веб-приложение JAVA, для которого требуется контейнер сервлетов Java, например Apache Tomcat. В сочетании с LdapCherry он может предоставить вам все необходимые функции.

Удачи!

Вы можете попробовать использовать PHP-приложение самообслуживания LDAP Tool Box . Но это в основном предназначено для того, чтобы пользователи могли самостоятельно сбрасывать пароль.

У меня есть ощущение, что Менеджер учетных записей LDAP , вероятно, ближе к тому, что вы ищете. Он работает с веб-серверами Nginx и Apache и поставляется как в бесплатной, так и в профессиональной версии . Вам, вероятно, понадобится версия Pro для части системы самообслуживания.

введите описание изображения здесь введите описание изображения здесь