Я реализую простой балансировщик нагрузки - это HTTP-прослушиватель, который анализирует входящие запросы из браузера и направляет их в соответствующее приложение ASP.NET. Он прослушивает определенный порт (8801), и при маршрутизации он сохраняет исходный URI и изменяет только номер порта, например. https://machine.domain.com:8801/testsite/Default.aspx может быть перенаправлен на https://machine.domain.com:8811/testsite/Default.aspxWIF пассивная федерация с пользовательским балансировщиком нагрузки на месте
Без обеспечения безопасности работы маршрутов просто отлично. Проблема возникает, когда я пытаюсь применить федерацию WIF к приложениям ASP.NET. Я использую ADFS 2.0. Вот два сценария, я пытался:
сценарий 1
WS-Federation пассивный конечный полагающейся стороны установлен в приложении ASP.NET URI
Когда балансировки нагрузки URI доступен через браузер, загрузите балансир маршруты к Приложение ASP.NET и страница загружаются, однако RequestSecurityTokenResponse от STS перенаправляется непосредственно в приложение ASP.NET (а не балансировщик нагрузки) в соответствии с настройкой пассивной конечной точки. Так что это работает, но поскольку я хочу, чтобы вся связь с ASP.NET-приложением обрабатывалась через балансировщик нагрузки, этот сценарий не соответствует моим требованиям.
сценарий 2
опираясь WS-Federation пассивного конечной партии имеет значение для загрузки балансира URI
Когда балансировки нагрузки URI доступен через браузер, загрузка балансир маршруты в приложение ASP.NET, который возвращает Несанкционированный ответ , переадресация браузера на STS, RequestSecurityTokenResponse перенаправляется обратно на балансировщик нагрузки, но когда он перенаправляется в приложение ASP.NET, я получаю ответ 401 - Unauthorized: доступ запрещен из-за неверных учетных данных. Это связано с несоответствием URI, которое я считаю, поскольку маркер saml выдается для URI балансировки нагрузки. Я пробовал различные комбинации зрительного ура и царств, но никакого успеха.
Таким образом, мой вопрос заключается в том, существует ли обходное решение, которое позволило бы балансировщику нагрузки обрабатывать всю необходимую федеративную связь, поскольку мои приложения ASP.NET могут быть доступны только из балансировки нагрузки.
Надеюсь, я достаточно четко объяснил свою проблему.
Помощь высоко ценится Спасибо
Из любопытства, где вы разместили этот код в своем решении? – shenn