Контекст ASP.NET HTTP Keep-Alive Connection

Я работаю над заменой интеграции аутентификации Windows в приложении ASP.NET, обрабатывая аутентификацию NTLM вручную. Проверка подлинности NTLM не является проблемой, у меня есть полная реализация модуля NTSP SSPI с открытым исходным кодом ( https://github.com/FreeRDP/FreeRDP/tree/master/winpr/libwinpr/sspi/NTLM). Моя главная проблема в том, что NTLM ориентирован на соединение, а HTTP обычно не имеет состояния. После прочтения о проверке подлинности NTLM она описывается как требующая использования HTTP Keep-Alive, где cookie не отправляется с каждым запросом. Пока соединение поддерживается, состояние аутентификации NTLM остается.

Я нашел способы правильно включить поддержку HTTP в IIS, но в ASP.NET не нашел способа связать данные с конкретным соединением. Даже если cookie может быть передан клиенту в конце NTLM, NTLM не может быть завершен, если не поддерживается состояние сеанса между получением NTLM CHALLENGE и отправкой сообщения NTLM AUTHENTICATE. Очевидно, что при использовании встроенной поддержки IIS встроенной проверки подлинности Windows он может отслеживать состояние между несколькими этапами проверки подлинности NTLM.

То, что я ищу, - это способ отслеживания нескольких запросов, поступающих для одного и того же HTTP-соединения, которое сохраняется. Данные в HttpRequest, по-видимому, относятся только к текущему запросу, и ничто не позволяет мне идентифицировать соединение. В лучшем случае, возможно, одну из серверных переменных ( http://msdn.microsoft.com/en-us/library/ms524602.aspx), например, эфемерный порт подключения, можно использовать для идентификации того же подключения. Это может потенциально сработать, но я не смог найти способ надежно определить, когда соответствующее соединение закрыто.

Идеи, кто-нибудь?

1 ответ

Нет такого способа узнать, находится ли текущий запрос в новом соединении tcp или повторно использовал соединение.

Это можно сделать, отправив дополнительный заголовок к указанному текущему tcp-соединению в заголовке http.

Другие вопросы по тегам