2010-08-03 10 views
7

Używam zabezpieczeń Spring w mojej aplikacji i chcę wiedzieć, czy istnieje sposób, aby "poprosić" wiosnę, aby pamiętał tylko nazwę użytkownika, który przychodzi do aplikacji (za pomocą pola wyboru "pamiętam-mnie"). To, co mogłem zebrać z dokumentacji referencyjnej, to fakt, że Spring jest w stanie zapisać nazwę użytkownika i hasło użytkownika, a następnie zalogować się bezpośrednio do niego. Ale to, czego chcę, to że użytkownik zostanie przeniesiony na stronę logowania za każdym razem, gdy wróci, ale z jego nazwą użytkownika już wpisaną.Zapamiętaj mnie na wiosennym zabezpieczeniu, aby zapamiętać tylko nazwę użytkownika

Oczywiście jeśli Wiosna nie ma sposobu, aby to zrobić, musiałbym zaimplementować logikę przechowywania plików cookie, aby zająć się tym wymaganiem.

Wielkie dzięki za odpowiedzi, jak zawsze.

Odpowiedz

5

Należy zatem ustawić plik cookie zawierający nazwę użytkownika po uwierzytelnieniu i uzyskać do niego dostęp podczas renderowania strony logowania.

Jeśli używasz Spring Security 3.x, pierwszy z nich można wykonać poprzez podklasę AuthenticationSuccessHandler (domyślną implementacją jest SavedRequestAwareAuthenticationSuccessHandler) i ustawienie pliku cookie z response.addCookie(). Jest to standardowy dostęp do plików cookie (request.getCookies(), itp.).

+0

Dzięki kolego. Czy jest to potwierdzone, że Spring Security f/w samo w sobie nie zapewnia sposobu zapamiętania tylko nazwy użytkownika (pamięta tylko sesje użytkownika) w aplikacji? – PaiS

+0

@PaiS: Tak, funkcja Remember Me programu Spring Security nie obsługuje tego scenariusza i nie ma dla niego innych funkcji. – axtavt

Powiązane problemy