如何在 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。
我在 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。