2012-04-25 13 views
11

Używam programu ADFS do uwierzytelniania w mojej aplikacji internetowej ASP.net. Serwer STS przekierowuje przeglądarkę do https://test.contoso.com. STS nie zezwala na żaden parametr zwracanego adresu URL podczas przekierowywania klienta do STS w pierwszej kolejności.Przekierowanie adresu URL z serwera ADFS

Czy byłoby możliwe przekierowanie przeglądarki z https://test.contoso.com (po przekierowaniu ze STS) na dowolny inny adres URL, na przykład https://variableName.test1.contoso2.com?

Każda pomoc jest doceniana.

Odpowiedz

14

Po uwierzytelnieniu program ADFS domyślnie powinien przekierować użytkownika do dziedziny aplikacji strony zależnej. Wygląda na to, że właśnie to już zrobiłeś, ale chcesz mieć możliwość przekierowania na inny URL RP.

Załóżmy, że masz RP, z domeną http://myrprealm.com skonfigurowaną w programie AD FS. Użytkownik przegląda numer http://myrprealm.com/Contacts.aspx. WIF FederatedAuthenticationModule (FAM) widzi, że użytkownik nie jest autentyczny, więc zapisuje względny URL "/Contacts.aspx" w parametrze Return URL o nazwie ru. Ta ru zostaje spakowana wewnątrz parametru kontekstowego pasywnego WS-Federation (wctx). Następnie FAM przekierowuje użytkownika do ADFS w celu uwierzytelnienia. Program ADFS zachowa parametr wctx i odeśle go ponownie do RP (http://myrprealm.com) po pomyślnym uwierzytelnieniu. Teraz FAM przetwarza tę odpowiedź ADFS. Kiedy FAM otwiera wctx, zauważa, że ​​ru =/Contacts.aspx, więc po ustanowieniu sesji przekieruje użytkownika do Contacts.aspx.

Jeśli włączysz WIF w swojej witrynie ASP.NET za pomocą SDK (visual studio> Dodaj STS Reference), domyślnie będziesz mieć to zachowanie.

+1

Ok, więc zarejestrowałem URL_1 jako adres punktu końcowego w programie ADFS. Ale powiedz, że użytkownik trafia URL_2, a URL_2 jest skonfigurowany do przekierowania użytkownika do ADFS w celu uzyskania autoryzacji. Po uwierzytelnieniu program ADFS przekierowuje użytkownika do adresu URL_1. Chcę przekierować go na URL_2 lub ogólny adres URL _ {*}, w którym użytkownik został przekierowany do programu ADFS. Jakieś wskazówki do tego? – Sam

+1

Nie chcesz, aby program ADFS przekierowywał do URL_2, zawsze chcesz, aby przekierowanie było do adresu URL_1, w którym nasłuchuje WIF. WIF przetworzy odpowiedź pod adresem URL_1, a następnie zajmie się przekierowaniem użytkownika do adresu URL_2. Proszę ponownie przeczytać moją odpowiedź, opracowałem więcej szczegółów. –

+0

@AndrewLavers - Występuję w tym samym problemie przy użyciu VS2013, ale nie wydaje mi się, żebym miał opcję dodania STS Reference. Podłączyłem moją aplikację do programu ADFS, jednak za każdym razem przekierowywany jest do adresu URL root'a, a nie do adresu URL określonego w parametrze wctx. Rozumiem, co powiedziałeś powyżej w odniesieniu do FAM przetwarzającego odpowiedź, ale wydaje się, że nie działa ona natywnie. Czy możesz wskazać mi właściwy kierunek tutaj? – Brosto

Powiązane problemy