Интранет PHP может совместно использовать логины Windows?

Добавляете ли вы подписку в http.get ()? Наблюдаемые Rxjs ленивы в том смысле, что они выполняют значения только тогда, когда что-то подписывается на это. Они не выполняют запрос, пока не получат подписку.

Из https://angular.io/guide/http : «Метод HttpClient не начинает свой HTTP-запрос до тех пор, пока вы не вызовете subscribe () для наблюдаемого, возвращаемого этим методом»

7
задан Lars Fastrup 11 March 2009 в 17:39
поделиться

3 ответа

То, что Вы ищете, является аутентификацией NTLM против веб-сайта PHP, который является совершенно выполнимым, но кажется, что нет никакого единственного пути в PHP, чтобы сделать это.

Взгляните на http://siphon9.net/loune/2007/10/simple-lightweight-ntlm-in-php/

Также необходимо добавить сайты к надежным сайтам в IE (или эквивалент в том, какой бы ни браузер, который Вы используете) и в настройках для надежных сайтов, включите, 'отправляют текущее имя пользователя и пароль'.

Не ужасная дыра в системе безопасности, потому что учетные данные не отправляются en clair по проводу и конечного пользователя, конкретно сказала браузеру отправлять учетные данные в рассматриваемый веб-сайт.

8
ответ дан 6 December 2019 в 11:53
поделиться

PHP имеет поддержку LDAP, таким образом, можно получить доступ к Active Directory Windows

На SourceForge существует этот проект: adLDAP - "аутентификация LDAP с PHP для Active Directory"

5
ответ дан 6 December 2019 в 11:53
поделиться

Часто времена это сделано с помощью комбинации LDAP и NTLM. Браузеры как IE и Firefox могут сделать аутентификацию NTLM, которой я верю, то, как Sharepoint работает. Я запускаю основанное на Java приложение портала, которое использует LDAP для синхронизации пользователей и NTLM для аутентификации.

То, что Вы абсолютно не хотите делать, сделали, чтобы пользователь ввел их доменное имя пользователя и пароль в браузер. В минувшие годы я видел несколько проектов использовать этот подход с LDAP для аутентификации пользователей Windows. Вы корректны, это - проблема безопасности. Пользователь должен ввести его пароль только однажды: при входе рабочей станции. Последней вещью, которую Вы хотите, являются пароли, сидящие без дела в кэше / временные файлы.

Я приношу извинения, что не могу обеспечить, "вот то, как Вы делаете это с приложением PHP" ответ. Насколько я знаю, нет никакого решения этой проблемы.

(Одна вещь, которую я сделал в прошлом и я никогда действительно, проверила, чтобы видеть, была ли это допустимая или плохая форма, должен был использовать PHP от IIS. Если Вы будете использовать IIS, то PHP заполнит серверную переменную REMOTE_USER с именем пользователя пользователя Windows (DOMAIN\user). Это работало на то, что я делал в то время.)

4
ответ дан 6 December 2019 в 11:53
поделиться