Аутентификация аутентификации Windows с помощью Javascript

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

Я нашел эту нить Как пропустить проверку подлинности Windows в webservice с помощью jQuery?

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

Ответ 1

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

http://username:[email protected]

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

Ответ 2

Если это интрасеть на базе Windows, я бы не стал разбираться с Javascript, но использовал стандартную аутентификацию NTLM, как описано в этой теме. Таким образом, вы можете предоставить единый вход для любого количества сайтов с обычным именем пользователя и паролем пользователей вашей сети. Чтобы процитировать мой ответ из другого потока:

Фактически это возможно при аутентификации NTLM. Вам нужен AuthenNTLM -plugin, который будет аутентифицировать пользователя с помощью 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 требуется немного специальный уход - что может быть достигнуто установкой переменных конфигурации во время развертывания).

Ответ 3

Если это проверка подлинности Windows, ответ не будет запрашивать у клиента учетные данные, браузер будет пытаться передать сами учетные данные. Это не совсем так, как работает HTTP - вам действительно нужно настроить сам браузер, чтобы он отправил авторизацию на основе учетных данных Windows.

Не похоже, что это простое решение JS.