Извлечь переменную среды Apache "REMOTE_USER" работает только с SSL
Мы используем Apache с mod_auth_kerb
аутентифицировать наших пользователей, настроенных в Active Directory. Пытаясь извлечь REMOTE_USER
из переменных среды я заметил кое-что странное - я смог получить пользователя, когда SSL включен путем загрузки mod_ssl
библиотека, но дал мне "нулевое" значение для переменной без SSL.
Вот конфигурации для моего сервера Apache:
<Location /my-site-page>
AuthType Kerberos
AuthName "Kerberos Login"
KrbMethodNegotiate on
KrbMethodK5Passwd on
KrbSaveCredentials on
KrbLocalUserMapping off
KrbAuthRealms MY.REALM.COM
KrbServiceName Any
Krb5KeyTab /path/to/my/keytab
RequestHeader set X-REMOTE-USER %{REMOTE_USER}e
RequestHeader append X-REMOTE-USER %{REMOTE_USER}s
Как я понял из Apache Mod Header Docs
% {VARNAME} e Содержимое переменной среды VARNAME.
% {VARNAME} s Содержимое переменной среды SSL VARNAME, если включен mod_ssl.
Я попытался включить и выключить SSL, и вот результаты, которые я вижу
когда SSL включен
X-REMOTE-USER: (null), harman
когда SSL отключен
X-REMOTE-USER: (null), (null)