Получение идентификатора пользователя из браузера - PullRequest
4 голосов
/ 05 августа 2011

Раньше я работал в банке, в интранете которого была очень интересная функция. После того, как вы вошли в свой компьютер, в PHP были установлены глобальные переменные через Apache, и они содержали личность пользователя, который вошел в систему на компьютере. Сейчас я на новой работе, и мне интересно, как эта штука сработала! Я хотел бы реализовать такую ​​вещь еще раз.

С чем я здесь работаю:

  • Сервер FreeBSD, версия мне неизвестна.
  • веб-сервер Apache 2.2
  • PHP 5, некоторая пользовательская компиляция, которую по разным причинам я не могу обновить или изменить.
  • MS AD
  • Все пользователи, входящие в систему на своих компьютерах, используют активный каталог, все находятся в одном домене.

То, что у меня было раньше, было примерно таким:

echo $_SERVER['username']

, который выводит имя пользователя, который в данный момент вошел в систему.

Может кто-нибудь объяснить, как это можно сделать?

P.S. Если какие-либо настройки моего сервера не соответствуют требованиям, скажите об этом, потому что тогда у меня будет причина попросить боссов дать мне один из моих собственных, с большим контролем.

Ответы [ 2 ]

2 голосов
/ 05 августа 2011

Есть много способов, которыми это может быть реализовано.Однако многие из них зависят от наличия контроля над клиентом и сервером.

Очевидные источники данных включают в себя:

Однако ни один из них не объясняет, как значение появилось в сеансе - это должно быть реализовано в коде PHP.

Так что беззная, как это было реализовано на вашем предыдущем сайте, мы не можем сказать вам:

  • Было ли это безопасно и правильно реализовано
  • как повторить поведение

Учитывая ваш список ресурсов, хотя можно было бы реализовать аутентификацию на основе прямых вызовов LDAP, передавая имя пользователя и пароль через ваше приложение, я настоятельно рекомендую использовать (например) openId - но ограничитьсвязывая провайдеров только с вашим openid-провайдером, который будет использовать MSAD в качестве бэкэнда.

0 голосов
/ 05 августа 2011

Я не правильно понял вопрос, поэтому я редактирую свой пост ...

вы можете использовать apache auth, вы можете сделать auth по ip или hostnames

http://httpd.apache.org/docs/2.0/en/howto/auth.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...