• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Spring - Przechowywanie sesji użytkownika

Object Storage Arubacloud
0 głosów
1,774 wizyt
pytanie zadane 22 maja 2017 w Java przez Jonki Dyskutant (8,180 p.)
W jaki sposób najlepiej przechowywać sesję użytkownika w Spring? Obecnie w moim projekcie trzymam w sesji obiekt typu User i jest to ten mój zalogowany użytkownik. Ale pomyślałem, że jest to trochę niebezpieczne i wpadłem na innym pomysł. Wydaje mi się, że bardzo dobrym sposobem byłoby wegenerowanie specjalnego ciągu znaków, który byłby identyfikatorem sesji i zapisanie go w bazie razem z id użytkownika zalogowanego i w sesji jako zwykły String. A następnie gdy potrzebowałbym użyć danych zalogowanego użytkownika, to po prostu sprawdziłbym do kogo należy identyfikator sesji i na podstawie przypisanego id do sesji pobrać z bazy dane użytkownika i wyświetlić. Jak myślicie? Jest to dobry sposób?
komentarz 22 maja 2017 przez Mateusz51 Nałogowiec (28,180 p.)
Uzywasz Spring Security? Ponieważ ten moduł rozwiązuje za Ciebie kilka problemów
komentarz 22 maja 2017 przez Jonki Dyskutant (8,180 p.)
Tak, ale używam Spring Security tylko do logowania i wylogowywania. A daje to jeszcze takie możliwości?
komentarz 22 maja 2017 przez Vento Pasjonat (17,120 p.)
Nie lepiej używać Ci Json Web Tokens do autoryzacji użytkownika. Sam osobiście używam w PHP i polecam bardzo serdecznie :)
komentarz 22 maja 2017 przez Mateusz51 Nałogowiec (28,180 p.)
Spring Security trzyma sesje za Ciebie. Jeśli chcesz uzyskać dane użytkownika możesz pobrać jego nazwe i z bazy danych pobierac dalsze informacje.

https://www.mkyong.com/spring-security/get-current-logged-in-username-in-spring-security/
komentarz 22 maja 2017 przez Mateusz51 Nałogowiec (28,180 p.)
A zawartością spersonalizowaną możesz zarządzać poprzez bean-y sesyjne. Które tworzysz odpowiednimi annotacjami
komentarz 23 maja 2017 przez Jonki Dyskutant (8,180 p.)
@Vento : nie chcę łapać się na start na zbyt dużą liczbę technologii, bo potem się nie połapię.

@Mateusz21 : czyli uważasz, aby nie pobierać podczas logowania całego użytkownika i nie zapisywać go w sesji, tylko podczas gdy będę potrzebował informacje na temat użytkownika, to tylko pobrać je jednorazowo według nazwy zapisanej w sesji lub ciastku? Co do bean'ów sesyjnych, to jeśli mam encje User to raczej nie pasuje jej chyba ustawić scope session, prawda? Tylko stworzyć nową klasę dla użytkownika zalogowanego? Na koniec, to czym się różni to, że ustawię jakąś klasę na bean'a sesyjnego, a to,że po prostu ręcznie dodam obiekt danej klasy do sesji? Raczej to i to można wykraść. Czy ten bean sesyjny jest jakoś lepiej zabezpieczony niż obiekt klasy 'HttpSession'?.
komentarz 23 maja 2017 przez Mateusz51 Nałogowiec (28,180 p.)
Jak ustawisz beana na sesyjnego tox dla kazdej sesni bedzie tworzyl sie teb bean i bedzie xarzadzany przez springa. Jak dodasz obiekt to musisz sam zarzadzac. Jesli nie chcesz aby byl wykradziony to musisz stworzyc beana w ktorym przechiwywane beda tylko dane nie wrazliwe np bez password. Stworzyc tak zwanego dto. DataTransferObject

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
0 odpowiedzi 209 wizyt
0 głosów
1 odpowiedź 128 wizyt
0 głosów
0 odpowiedzi 123 wizyt
pytanie zadane 17 czerwca 2017 w Java przez Jonki Dyskutant (8,180 p.)

92,555 zapytań

141,403 odpowiedzi

319,554 komentarzy

61,939 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...