Существует чистый конфигурации *:Windows Identity Foundation и Port Forwarding
Client - FW - IIS
IIS прослушивает порт 8080, есть веб-приложение на IIS, например MyApp. FW реализует простую переадресацию портов (он заменяет порт 80 на порт 8080). Пусть следующий случай:
Клиент просит http://MyWebSite/MyApp/Index.aspx
, FW изменяет Standart порт 80 на 8080 и запрос http://MyWebSite:8080/MyApp/Index.aspx
. IIS возвращается на страницу, запрошенную клиентом. Index.aspx Одна импортная вещь: если пользовательские типы в браузере http://MyWebSite/myapp/index.aspx
IIS возвращает http://MyWebSite/MyApp/Index.aspx
(поэтому он меняет адрес URL по имени реального приложения). Все работает хорошо.
Но проблема возникает, если я вставляю в стандартный трубопровод WIF. Например, я хочу, чтобы MyApp принимал только аутентифицированных пользователей. Я хочу перенаправить пользователей к определенному поставщику удостоверений. Если пользователь пытается получить страницу http://MyWebSite/MyApp/Index.a
spx, все работает нормально, пользователь перенаправляется на IP. Но если пользователь пытается получить http://MyWevSite/myapp/index.aspx
(имя приложения в нижнем регистре), IIS возвращает клиенту перенаправление на http://MyWebSite:8080/MyApp/Index.aspx
. Поскольку порт 8080 закрыт на FW, пользователь получает сообщение об ошибке. Если я удалю WIF из моего приложения, все снова отлично работает.
Неужели кто-нибудь столкнулся с проблемой?