Проверка подлинности Windows с помощью Javascript

Я должен перенести своего клиента с одного сайта на другой сайт. Это происходит на стороне клиента. На этом 2-м веб-сайте используется система проверки подлинности Windows basic. Таким образом, появляется окно входа в систему. Мне нужно опустить это всплывающее окно и аутентифицировать моего клиента на 2-м сайте с помощью javascript, а затем перенаправить его на 2-й сайт. Нет никакой проблемы безопасности, даже я положил данные в файл JavaScript, так как вся эта система работает в интранет. Итак, как аутентифицировать клиента на 2nd веб-сайте ?

Я нашел эту нить как я могу передать аутентификацию windows в webservice с помощью jQuery?

но это не работает. Когда я смотрю заголовок запроса 2nd url, он не содержит тег авторизации.

3 ответов


Если это обычная аутентификация, и вы не возражаете против предоставления учетных данных, почему бы вам просто не вставить имя пользователя и пароль в URL-адрес? Например:

http://username:password@www.domain.com

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


Если это интрасеть на основе 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 для этого вообще.