在 PHP 中访问 HTTP 身份验证用户名?

Access HTTP authentication username in PHP?

在 PHP 中是否可以访问使用服务器的本地 HTTP 摘要身份验证进行身份验证的用户的登录名(因为 完全相反 PHP实施相同的 HTTP 身份验证协议)?

客户端发送的 HTTP header 中提供了您想要的数据(根据 https://www.rfc-editor.org/rfc/rfc2617 ),即 header Authorization.

在 PHP 中,这个 header 可以像这样检索:

$header = $_SERVER['HTTP_AUTHORIZATION'];

header包含若干键值对,以逗号分隔。用户名在 username 键中,您可以通过以下方式提取它:

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