Я на сервере Windows пытаюсь проверить учетные данные Kerberos. У нас есть веб-сервис, в котором пользователю необходимо повторно ввести пароль Kerberos, прежде чем он сможет отправить критическую форму. Затем PHP-код должен проверить, верен ли этот пароль, прежде чем он действительно отправит форму. Мы испробовали несколько подходов, которые все работают на Linux, но мы не смогли заставить ни один из них работать на компьютере с Windows. Вот что мы попробовали:
1. Использование расширения kerberos для PHP
kadm5 не имеет предварительно собранной библиотеки DLL для Windows, и для сборки, по-видимому, требуется Visual Studio.
2. Заставить PHP запустить kinit и ввести в него пароль (echo "pass123" | kinit username @ realm, а также подход этого пакета https://packagist.org/packages/xcore/kinit).
Мы не нашли способа передать пароль в команду kinit в Windows. Кажется, эхо ведет себя по-разному в системах Windows и Linux. Также парень на форуме Technet сказал, что этот подход не будет работать.
3. Использование пакета Kerberos в Python для проверки учетных данных с помощью kerberos.checkPassword ()
Windows-версия пакета kerberos, winkerberos, не имеет этой функции.
Я в тупике, ребята. Можно ли выполнить то, что я пытаюсь?