У меня есть PHP 5.6.17 и Apache 2.4.10 работает на Debian 8.SSO - Получить AD Имя пользователя с Apache
Я хочу, чтобы заполнить РНР переменную $_SERVER['REMOTE_USER']
с именем пользователя Windows, чтобы войти в случае, если пользователь имя пользователя находится в моей базе данных. Я уверен в рисках безопасности, связанных с этим методом, поскольку это будет отображаться только в локальной сети.
Вот что я сделал в моем определении ВХост Apache:
<LocationMatch "/login/ssologin">
PerlAuthenHandler Apache2::AuthenNTLM
AuthBasicAuthoritative on
AuthType ntlm
AuthName "hello"
Require valid-user
PerlAddVar ntdomain "my.local"
PerlSetVar defaultdomain my.local
PerlSetVar splitdomainprefix 1
PerlSetVar ntlmauthoritative off
PerlSetVar ntlmdebug 1
</LocationMatch>
Я поставил URL в доверенных сайтов в Internet Explorer, но я по-прежнему предлагается для базовой аутентификации.
Что я пропустил?
Моя единственная цель - получить имя пользователя сеанса Windows. Есть ли другой, более простой способ?
http://stackoverflow.com/questions/12942065/can-serverremote-user-be -spoofed – mkaatman
@mkaatman: спасибо за сообщение, но я нахожусь в локальной сети, поэтому я доверяю var. – BastienSander
Вы добавили исключение ntlm для своего URL-адреса в IE? что-то вроде этого: https://technet.microsoft.com/en-us/library/jj865685(v=ws.10).aspx или https://support.microsoft.com/en-us/kb/239869. – gmfm