Не могли бы вы мне сказать, могу ли я использовать ответ HTTP Digest Authentication для аутентификации пользователя с помощью LDAP? Не могли бы вы позволить мне увидеть пример в PHP?
Важно отметить, что даже если вы используете, скажем, дайджест-проверку подлинности, бэкэнд-системы должны полностью проверять учетные данные. Независимо от того, какая база данных, сервер RADIUS, LDAP и т. Д. Хранит ваш действительный набор учетных данных, не имеет значения. Сервер и клиент на уровне HTTP будут обмениваться этими заголовками.
Как указано в документации PHP: http://php.net/manual/en/features.http-auth.php
<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo 'Text to send if user hits Cancel button';
exit;
} else {
echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as your password.</p>";
}
?>
Когда у вас есть имя пользователя / пароль, вам нужно всего лишь создать свой код LDAP для аутентификации пользователя в вашем LDAP с этими учетными данными.
Другим способом сделать это может быть использование HTTP-сервера, который может использовать бэкэнд LDAP для аутентификации пользователя. Например, посмотрите эту документацию для Apache: https://httpd.apache.org/docs/2.4/mod/mod_authnz_ldap.html