如何在java中获取mod_ldap认证的用户信息

时间:2016-05-26 14:16:42

标签: java apache ibmhttpserver mod-ldap

IHS中的httpd.conf看起来像这样

AuthType Basic
AuthName "Authentication for Billing"
AuthBasicProvider ldap
AuthLDAPURL ldaps://xxx.com/ou=bluepages,o=ibm.com?mail,cn,dept 
AuthzLDAPAuthoritative off
AuthGroupFile conf/groups.txt
Require group Admin

现在根据Apache文档,我期待环境变量中的值:     System.getenv( “AUTHENTICATE_CN”),     System.getenv( “AUTHENTICATE_MAIL”)     System.getenv( “AUTHENTICATE_DEPT”)

但我得到的只是NULL。我只在request.getRemoteUser()中获取经过身份验证的电子邮件ID。我也尝试过System.getProperties(),但也没有。请让我知道如何获得其他信息。

提前致谢。

1 个答案:

答案 0 :(得分:0)

内部Apache环境变量不会从Web服务器共享或以其他方式传送到应用程序服务器。但您可以将它们复制到请求标题中,例如

RequestHeader set AUTHENTICATE_CN %{AUTHENTICATE_CN}e   

您可以像访问应用服务器上的任何其他请求标头一样访问它。