Żywotność obiektu klasy User z frameworku Spring Security

0

Podczas prawidłowego logowania za pomocą Spring Security tworzony jest obiekt klasy org.springframework.security.core.userdetails.User, który posiada odpowiednie dane np. Granted Authorities, co w np. moim przypadku po zalogowaniu posiada wartość 'ROLE_USER'. Dzięki temu przy niektórych metodach mogę użyć adnotacji @Secured("ROLE_USER") i ograniczyć dostęp do mapującej metody tylko dla użytkowników. Dodatkowo na bazie pola username z tej klasy User pobieram sobie odpowiedniego użytkownika z bazy i zapisuję go do sesji i jego nazwę do ciasteczka, aby po wyłączeniu przeglądarki dzięki ciastku mogę przywrócić odpowiedniego użytkownika i znowu ustawić go w sesji. I właśnie chodzi o to, że podczas wyłączenia przeglądarki naturalnie ginie sesja no i właśnie ten potrzebny obiekt Principal, który posiada ustawione pole Granted Authorities z odpowiednią wartością dostępu. Więc po ponownym uruchomieniu przeglądarki dzięki ciastku przywracam użytkownika do sesji, ale nie posiada on już dostępu do metod, które są oznaczone adnotacją @Secured("ROLE_USER") , ponieważ tego obiektu User z Spring Security już nie ma. I tu moje pytanie czy jest jakiś magiczny sposób, aby to jakoś zrobić. Chodzi o to, że te adnotacje po wyłączeniu i ponownym włączeniu przeglądarki są już bezużyteczne.

0

Dobra, znalazłem rozwiązanie. Wydawało mi się, że ten User z Spring Security jest tak zabezpieczony, że nie da rady go ręczenie ustawić, a tu jednak można.

1 użytkowników online, w tym zalogowanych: 0, gości: 1