Доброго времени суток! Помогите пожалуйста советом. Недавно начал создавать сайт для работы с БД через PHP. В принципе все понятно и несложно выглядит, но никак не могу найти как реализовать одну штуку. Все компы в корпоративной сети, все через Active Directory сделано. Требуется: 1. Узнать логин текущего пользователя в компе средствами PHP. (ну или javascript, правда я его не знаю но вдруг там такое просто делается) 2. Взять этот логин, подключиться к Active Directory и вытащить всю инфу о нем. В общем надо, чтобы при заходе на сайт он сам определял ФИО и адрес корпоративного мыла текущего пользователя. Мне хотя бы ссылочку на статью. Как я понял подобное можно осуществить через LDAP, но внятной статьи на то как это все работает я не нашел.
пхп не знает логин на компе клиента. зато видит айпишник. когда я лет десять назад подобную задачу имел - там был запрос как раз к ад для выяснения текущего активного пользователя на машине с таким адресом.
Нашел вот такую штуку на JS var net = new ActiveXObject("WScript.Network"); alert( 'Computer: ' + net.ComputerName + "\n\nUser:" + net.UserName ); в IE работает, а большего мне и не надо, все равно IE корпоративный стандарт. Теперь осталось только понять как передать значение переменной в PHP Ну и выдрать данные из AD
вставил этот кусок кода на JavaScript: var net = new ActiveXObject("WScript.Network"); alert( 'Computer: ' + net.ComputerName + "\n\nUser: " + net.UserName ); Есть еще куски JS в коде и они работают, а этот конкретно нет. Подскажите что я делаю не так. Как я понял этот кусок работает через ActiveX. А, самое то главное забыл написать. Если я просто захожу в папку с сайтом и запускаю страницу в IE - то все работает. А если запускаю openserver и через localhost захожу на эту же страницу, то именно этот кусок не работает. Помогите разобраться в чем дело
перечитай моё сообщение. реально проще у ад спросить текущее положение дел чем на стороне клиента получать то что потом отправится обратно на сервер. если очень надо велосипедировать - тогда на джаве можно написать небольшой аплет, который выполнится у пользователя в браузере и отправит данные на сервер. а еще минус реализации на стороне клиента в том что он может сделать запрос к серверу отправив ему фиктивные данные. а в моменте когда вебсервер сам спросит у ад - такой трюк не прокатит.
Не получится так. Админ, который у нас отвечает за AD сказал, что такого нету. Может конечно и не настроено, чтобы адреса хранились компов, я не знаю. Так что это не вариант. Помогите лучше понять что не так с кодом. IE через консоль выдает ошибку : SCRIPT429: Невозможно создание объекта сервером программирования объектов. Как раз на первую строчку из двух. Добавлено спустя 1 минуту 47 секунд: Я бы конечно попробовал сделать, но я только начал постигать web-программирование, и поэтому там для меня ничерта не понятно. Внятной статьи на эту тему пока найти не удалось.
Я не понимаю, почему в браузерах еще не сделали такую возможность узнавать пользователя, чтобы отправить данные на сервер
Потому-что данные, пришедшие серверу от клиента имеют степень доверия 0 (ноль). По-этому, что бы сервер был уверен в пользователе - аутентификацию должен провести он.
Согласен! Но если приложение крутить на локальных сетях в компании, без внешнего доступа, было бы очень удобно! Пусть по умолчанию, в целях безопасности данная опция отключена, но так ее вообще нет)
браузер предназначен для просмотра ресурсов по протоколу хттп. и не должен их делить на интранет и экстранет. в нем не должно быть базовой функциональности выдающей серверу текущего пользователя. тем более как уже было сказано выше - такой запрос можно будет легко подделать. либо не делать его по стандартным протоколам но тогда нафига это должен уметь брауезр. и как уже было сказано выше - десять лет назад проблема аутентификации браузера клиента решалась через запрос вебсервера к серверу ад. сейчас либо технологии декгадировали, либо админ не особо квалифицирован, либо админ придумал отмазку не увидев особой необходимости в данном "сервисе" в данном интранете. пс. в нашей инфраструктуре только один юзер мог быть залогинен на машине. как разруливается ситуация когда несколько юзеров залогинены и только один активен - не возьмусь комментировать.