Пользовательский интерфейс для аутентификации веб-сервера (альтернатива Apache)

#apache #docker #authentication #ldap #webserver

#apache #docker #аутентификация #ldap #веб-сервер

Вопрос:

Я запускаю веб-сервер Apache с базовой аутентификацией, например, следующим образом:

 AuthType Basic
AuthName "Authentication required"
AuthUserFile "/usr/local/apache2/conf/.htpasswd"
Require valid-user
  

На самом деле конфигурация аутентификации / авторизации немного сложнее, потому что я запрашиваю сервер LDAP.
Я хотел бы иметь возможность использовать пользовательскую веб-страницу вместо традиционного всплывающего окна, которое поставляется с 401, которое Apache отправляет веб-браузеру.
Два вопроса:

  • Способен ли Apache это сделать? (AFAIK, нет);
  • Какой альтернативный продукт был бы хорошим вариантом, учитывая, что я запускаю все внутри контейнеров Docker, и он должен иметь возможность выполнять аутентификацию / авторизацию LDAP.

Ответ №1:

Вы можете добавить пользовательскую страницу ошибки 401, как описано в документации Apache здесь.

Но вам следует рассмотреть возможность использования вашей структуры в Location (или какой-либо другой) структуре

 ErrorDocument 401 /error/error401.html
<Location />
AuthType Basic
AuthName "Authentication required"
AuthUserFile "/usr/local/apache2/conf/.htpasswd"
Require valid-user
</Location>
  

Комментарии:

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

2. @espogian, я не уверен, что веб-сервер может это сделать. Вам понадобится сервер приложений и приложение для проверки подлинности с полной мощностью.