Проверка подлинности Windows с помощью Javascript
Я должен перенести своего клиента с одного сайта на другой сайт. Это происходит на стороне клиента. На этом 2-м веб-сайте используется система проверки подлинности Windows basic. Таким образом, появляется окно входа в систему. Мне нужно опустить это всплывающее окно и аутентифицировать моего клиента на 2-м сайте с помощью javascript, а затем перенаправить его на 2-й сайт. Нет никакой проблемы безопасности, даже я положил данные в файл JavaScript, так как вся эта система работает в интранет. Итак, как аутентифицировать клиента на 2nd веб-сайте ?
Я нашел эту нить как я могу передать аутентификацию windows в webservice с помощью jQuery?
но это не работает. Когда я смотрю заголовок запроса 2nd url, он не содержит тег авторизации.
3 ответов
Если это обычная аутентификация, и вы не возражаете против предоставления учетных данных, почему бы вам просто не вставить имя пользователя и пароль в URL-адрес? Например:
но если у вас есть контроль над веб-сервером, вы должны отключить проверку подлинности для подключения к интрасети.
Если это интрасеть на основе Windows, я бы не возиться с Javascript, но использовать NTLM-аутентификацию по умолчанию, как описано в этой теме. Таким образом, вы можете предоставить единый вход для любого количества сайтов с обычным именем пользователя и паролем пользователей вашей сети. Процитирую мой ответ из другой темы:
это действительно возможно с аутентификацией NTLM. Вам нужно AuthenNTLM-плагин, который будет аутентифицировать пользователя использование Internet Explorer. Примером синтаксиса может быть
<Location />
PerlAuthenHandler Apache::AuthenNTLM
AuthType ntlm,basic
AuthName test
require valid-user
# domain pdc bdc
PerlAddVar ntdomain "name_domain1 name_of_pdc1"
PerlAddVar ntdomain "other_domain pdc_for_domain bdc_for_domain"
PerlSetVar defaultdomain wingr1
PerlSetVar ntlmdebug 1
</Location>
## taken from the documentation
пожалуйста, обратитесь к документацию для получения дополнительных опций и конкретных инструкций по настройке - выше должно начать работу в правильном направлении.
на стороне клиента Internet Explorer и Firefox должны иметь возможность автоматически входить в систему после некоторой конфигурации (Firefox нуждается в немного специального ухода - что может быть достигнуто путем установки переменных конфигурации во время развертывания).
Если это проверка подлинности Windows, то ответ не будет запрашивать у клиента учетные данные, браузер будет пытаться передать сами учетные данные. Это не совсем работает так, как HTTP - вам действительно нужно настроить сам браузер чтобы отправить авторизацию на основе учетных данных Windows.
кажется, что нет простого решения JS для этого вообще.