Arkadiusz Piekarz

Arkadiusz Piekarz Student,
Politechnika
Krakowska im.
Tadeusza Kościuszki

Temat: Spring Security - pytanie

Witam,

mam takie pytanie. Otóż mam aplikację w której uzytkownik po zalogowaniu wykonuje pewne operacje np. edycja swoich danych, czy zapisywanie sie na jakieś zadarzenia itp. Chciałbym zrobic tak, żeby umozliwić uzytkownikowi operacje tylko i wyłącznie na swoim profilu tzn. żeby nie mógł, poprzez edycje adresu URL w przeglądarce, wejść przypadkowo na profil kogo innego i nic u tego kogoś nie pobroić ??
Piotr T.

Piotr T. Spring/Microservices

Temat: Spring Security - pytanie

W spring security masz dostęp do danych użytkownika w tym jego nazwy , wystarczy aby nazwa użytkownika była wykorzystywana w wyciąganiu/modyfikacji danych
http://static.springsource.org/spring-security/site/do...

String userNname = securityContext.getAuthentication().getPrincipal();
"select * from jakasTabelaZProfilamiUzytkownikow where user_name=:userName"
Arkadiusz Piekarz

Arkadiusz Piekarz Student,
Politechnika
Krakowska im.
Tadeusza Kościuszki

Temat: Spring Security - pytanie

W tej chwili mam taką sytuację, że np. user się zaloguje, może wejść do edycji swoich danych i ma taki URL: costam/edycja?id=5 i jak ręcznie w URL zmieni to id np na 6 to wchodzi na profil kogo innego i może mu zmieniać dane. Chce to zablokować ale nie bardzo wiem jak?
Piotr T.

Piotr T. Spring/Microservices

Temat: Spring Security - pytanie

Arkadiusz Piekarz:
W tej chwili mam taką sytuację, że np. user się zaloguje, może wejść do edycji swoich danych i ma taki URL: costam/edycja?id=5 i jak ręcznie w URL zmieni to id np na 6 to wchodzi na profil kogo innego i może mu zmieniać dane. Chce to zablokować ale nie bardzo wiem jak?
1. po co uzywasz id z url do określenia edytowanego profilu ?
2. jeśli dany użytkownik może edytować tylko swoje dane to , powinien używać do edycji i odczytu swojego id uzyskanego w wyniku autoryzacji.
3. jeśli to spring MVC to możesz użyć interceptora który będzie przechwytywał zgłoszenia użytkownika i sprawdzał czy podany token/id jest dozwolony dla danego użytkownika.
przykłady użycia interceptorów
http://www.mkyong.com/spring-mvc/spring-mvc-handler-in...

W razie wątpliwości polecam czytanie kodu źródłowego swojego jak i tego z frameworka.
Arkadiusz Piekarz

Arkadiusz Piekarz Student,
Politechnika
Krakowska im.
Tadeusza Kościuszki

Temat: Spring Security - pytanie

Ok, dzieki za pomoc. Muszę pousuwać te id z URLi. Użyje SecurityContextHolder do pobierania użytkownika po jego nazwie



Wyślij zaproszenie do