我们正在将Apache与mod_auth_kerb
一起使用,以对在Active Directory中配置的用户进行身份验证。尝试从环境变量中提取REMOTE_USER
时,我发现了一些奇怪的现象-通过加载mod_ssl
库启用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如果启用了mod_ssl,则SSL环境变量VARNAME的内容。
我尝试同时打开和关闭SSL,这是我看到的结果
启用SSL时
X-REMOTE-USER: (null), harman
禁用SSL时
X-REMOTE-USER: (null), (null)