Intereting Posts
PHP: помощь с этим форматированием даты Как подавить определенную ошибку в php PHP проверяет значение на несколько значений с помощью OR-оператора Куки-файлы против сеансов синтаксический анализ / сканирование через файл размером 17 гб как сохранить сеанс активным, даже если браузер был случайно закрыт? PHP-эквивалент javascript >>> shift right с нулевыми заполняющими побитовыми операторами? Сохранять значение в форме после отправки PHP Расчет рабочих часов ошибка лотка 18 – передача закрыта с оставленными оставленными данными чтения Работает ли foreach () для нечисловых ключей массива? Unlink Fails -> open_basedir issue Warning: unlink () : действующее ограничение open_basedir. Файл () не входит в допустимые пути: Php, я не могу получить доступ к унаследованным частным переменным даже не с отражением Как определить, когда пользователь успешно завершил загрузку файла в php MYSQLi bind_result возвращает null

Как получить пользовательскую информацию пользователя, прошедшего проверку подлинности с помощью mod_ldap Apache?

У меня есть LDAP-аутентификация, работающая с Apache. Теперь мне нужно знать, как я могу получить, что пользователь вошел в систему с PHP. Возможно ли это? Нужно ли выполнять аутентификацию на PHP для хранения имени пользователя?

Я не уверен, что то же самое с mod_lsap, но когда вы проверяете подлинность с помощью Apache, имя пользователя и пароль хранятся в суперглобальных объектах $ _SERVER.

$_SERVER['PHP_AUTH_USER'] $_SERVER['PHP_AUTH_PW'] 

http://ca.php.net/manual/en/reserved.variables.server.php

Если вы активируете модуль mod_authnz_ldap и настройте свой раздел следующим образом:

 <Directory /var/www/yoursite/> AuthName "LDAP Secured" AuthType Basic AuthLDAPUrl "ldap://your.ldap.server:389/dc=example,dc=com?sAMAccountName" AuthLDAPBindDN "ADUser@ADDomain.local" AuthLDAPBindPassword "secret" AuthBasicProvider ldap AuthzLDAPAuthoritative off Require valid-user </Directory> 

Затем в вашем PHP-коде вы можете получить идентификатор пользователя, который использовался для входа в систему следующим образом:

 <?php $userId = $_SERVER['AUTHENTICATE_SAMACCOUNTNAME']; echo "User ID: " . $userId; <? 

Любой атрибут LDAP, который вы укажете в директиве AuthLDAPUrl, может быть получен таким образом (префикс его с AUTHENTICATE_, а затем добавьте имя атрибута во всех прописных буквах). Вы можете добавить больше атрибутов, разделив их запятыми, но для проверки подлинности будет использоваться только первый. Дополнительную информацию см. http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html#exposed и http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html#authldapurl .