2013-03-04 14 views
7

Mam takie zadanie - zintegrować moją aplikację internetową z zewnętrzną usługą jednokrotnego logowania. Jest to niestandardowa niestandardowa implementacja logowania jednokrotnego, która polega na ustawieniu określonego pliku cookie i przekierowaniu z powrotem do aplikacji. SSO i aplikacja należą do tej samej domeny.Wiosenne bezpieczeństwo i niestandardowe uwierzytelnianie zewnętrzne

Aktualnie używam filtra Spring Security, aby sprawdzić ten plik cookie pod konkretnym adresem URL. Działa to dobrze dla scenariusza:

Aplikacja internetowa -> SSO [Dostarczony z adresem URL oddzwonienia] -> Przekieruj z powrotem do mojej aplikacji.

Ale oczywiście kończy się niepowodzeniem, gdy użytkownik odwiedza aplikację, która zapewnia autoryzację, a następnie "przeskakuje" do dowolnego adresu URL mojej aplikacji (a plik cookie nie jest sprawdzany, ponieważ nie uruchomiono "specjalnego" adresu URL).

Jakie jest zalecane podejście do rozwiązania tego problemu w Spring Security?

Dzięki!

Odpowiedz

9

Najprostszym sposobem rozwiązania problemu jest wdrożenie własnego PreAuthenticatedProcessingFilter: http://static.springsource.org/spring-security/site/docs/3.1.x/reference/springsecurity-single.html#d0e6167

Pytanie, czy Twój dostawca zapewnia uwierzytelnianie nazwy użytkownika w pliku cookie. Jeśli to zapewni - możesz użyć tego filtra: http://static.springsource.org/spring-security/site/docs/3.1.x/reference/springsecurity-single.html#d0e6295

Proszę mi powiedzieć, czy potrzebujesz dodatkowych wyjaśnień.

poważaniem,

Michael

+0

Enjoy :) Proszę mi powiedzieć, jeśli potrzebujesz dodatkowej pomocy. – Michael

Powiązane problemy