Как получить 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   

К которому вы будете обращаться, как и к любому другому заголовку запроса на сервере приложений.

Другие вопросы по тегам