Я пишу скрипт, который использует cURL для извлечения данных с внутреннего веб-сервера. Я могу явно использовать --user в сочетании с --ntlm, и все работает хорошо, но я не могу заставить его распознать, кто вошел в систему, и передать его прозрачно. Если я захожу на тот же сайт в Chrome/Firefox/IE, он сразу же дает мне разрешения без каких-либо подсказок (здесь мы используем прокси, если это важно). Сервер использует IIS.
3 ответа
21
Я использую (в среде домена Windows):
curl --ntlm -u : ...
cUrl знает, как предоставить мои доменные учетные данные, и это работает каждый раз.
4
Используйте -u :
который предоставляет пустой код пользователя и пароль, чтобы заставить cURL забрать их из хранилища учетных данных.
Я использую это в Unix с GSSAPI и curl -u : --negotiate ...
1
Подробно расскажу о @Phil P, вот как я это сделал из своего окна Ubuntu.
- Узнайте IP-адрес инструкции вашего контроллера домена о том, как это сделать, здесь
- Установите kerberos
sudo apt-get install krb5-user
Введите следующее в ваш
/etc/krb5.conf
[libdefaults] default_realm = YOURDOMAN # note that this must be in UPPER CASE krb4_config = /etc/krb.conf krb4_realms = /etc/krb.realms kdc_timesync = 1 ccache_type = 4 forwardable = true proxiable = true v4_instance_resolve = false v4_name_convert = { host = { rcmd = host ftp = ftp } plain = { something = something-else } } fcc-mit-ticketflags = true [realms] YOURDOMAN = { kdc = YOUR_DOAMIN_CONTROLLER_IP } [domain_realm] yourdomain = yourdomain yourdomain. = yourdomain