Как получить mod_ldap аутентифицированную информацию о пользователе в Java
Мой httpd.conf в IHS выглядит так
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(). Я также пытался System.getProperties(), но ничего там тоже. Пожалуйста, дайте мне знать, как я могу получить другую информацию.
Заранее спасибо.
1 ответ
Переменные внутренней среды Apache не передаются или иным образом не передаются с веб-сервера на сервер приложений. Но вы можете скопировать их в заголовки запроса, например:
RequestHeader set AUTHENTICATE_CN %{AUTHENTICATE_CN}e
К которому вы будете обращаться, как и к любому другому заголовку запроса на сервере приложений.