2015-09-25 2 views
1

Возможно ли в PHP получить доступ к имени пользователя для пользователя, прошедшего проверку подлинности с помощью собственной проверки подлинности HTTP-сервера сервера (как категорически против для реализации PHP того же протокола HTTP-аутентификации)?Доступ к имени аутентификации HTTP в PHP?

ответ

1

Данные, которые вы получили, указаны в HTTP-заголовке, отправленном от клиента (согласно https://tools.ietf.org/html/rfc2617), а именно заголовку Authorization.

В PHP этот заголовок может быть получен следующим образом:

$header = $_SERVER['HTTP_AUTHORIZATION']; 

Заголовок содержит ряд ключевых пар значений, разделенных запятыми. Имя пользователя находится в ключе username, вы можете извлечь это что-то вроде:

preg_match('/username="([^"]+)"/', $header, $matches); 
$username = $matches[1]; 
+0

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