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

how to get mod_ldap authenticated user information in java

我在 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(),但也没有。请告诉我如何获得其他信息。

提前致谢。

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

RequestHeader set AUTHENTICATE_CN %{AUTHENTICATE_CN}e   

您可以像访问应用程序服务器上的任何其他请求一样访问 header。