PHP: используйте ответ HTTP Digest Authentication для аутентификации с помощью LDAP

Не могли бы вы мне сказать, могу ли я использовать ответ HTTP Digest Authentication для аутентификации пользователя с помощью LDAP? Не могли бы вы позволить мне увидеть пример в PHP?

0

Решение

Важно отметить, что даже если вы используете, скажем, дайджест-проверку подлинности, бэкэнд-системы должны полностью проверять учетные данные. Независимо от того, какая база данных, сервер RADIUS, LDAP и т. Д. Хранит ваш действительный набор учетных данных, не имеет значения. Сервер и клиент на уровне HTTP будут обмениваться этими заголовками.

https://leonjza.github.io/blog/2013/06/25/dtob.py-digest-to-basic-authentication-a-simple-example-of-a-authentication-downgrade-attack/

0

Другие решения

Как указано в документации 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

0

По вопросам рекламы [email protected]