Spring zabezpiecznie api

0

Czesc, zaczalem pisac na potrzeby uczelniane aplikacje w Spring ( przeznaczenie i domena biznesowa nistotne ) i zakladam ze w pewnym momencie w niedalekiej przyszlosci bede chcial wdrozyc zabezpieczenia na poziomie api. Z tego co czytam to w Springu wykorzystuje sie do tego Spring Security i mechanizm rol w polaczeniu z UserDetailsService. Na yt widze ludzi nadpisujacych metode configure zeby stworzyc "pipeline" okreslajacy jaka rola pozwala na dostep do danego endpointu. Przyklad z kanlu Romanian Coder : Screenshot 2022-02-23 at 11.24.53.png

I pytanie: jak w tym podejsciu zabezpieczyc api tak zeby np uzytkownik o ID 1 mogl uzywac api do edycji swojego profilu uzytkownika czyli /api/editProfile/1 a nie mogl edytowac profilu uzytkownika o ID 2 czyli /api/editProfile/2. Jesli moje podejscie jest bledne albo istnieje jakies lepsze to tez bede wdzieczny za sugestie bo na tym etapie moge wziac pod uwage calkowita jego zmiane.

4

To jest część domeny i robisz to po prostu w konkretnym endpoincie /api/editProfile/{userId}. Sprawdzasz czy użytkownik wykonujący akcję ma id równe userId. Jeśli nie to zwracasz ResponseEntity ze statusem 403 albo rzucasz wyjątkiem, który mapujesz do statusu odpowiedniego.
Konfigurację security wykorzystujesz w bardziej ogólnych case'ach. Np. użytkownik z rolą ADMIN ma dostęp do wszystkiego pod /api/admin/**

0

Dziekuje bardzo za obie odpowiedzi

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