Возможно ли в PHP получить доступ к имени пользователя для пользователя, прошедшего проверку подлинности с помощью собственной проверки подлинности HTTP-сервера сервера (как категорически против для реализации PHP того же протокола HTTP-аутентификации)?Доступ к имени аутентификации HTTP в PHP?
1
A
ответ
1
Данные, которые вы получили, указаны в HTTP-заголовке, отправленном от клиента (согласно https://tools.ietf.org/html/rfc2617), а именно заголовку Authorization
.
В PHP этот заголовок может быть получен следующим образом:
$header = $_SERVER['HTTP_AUTHORIZATION'];
Заголовок содержит ряд ключевых пар значений, разделенных запятыми. Имя пользователя находится в ключе username
, вы можете извлечь это что-то вроде:
preg_match('/username="([^"]+)"/', $header, $matches);
$username = $matches[1];
Спасибо, я понял это в то же время (принимая еще). Смешающим фактором было то, что я ошибочно полагал, что файл дайджеста был настроен для корня документа, когда он был настроен только для субдира. Компонент, над которым я работал, находясь в другом субдире, явно не получил заголовок авторизации. –