Witam
Piszę sobie aplikacje w AngularJS po stronie klienta i Spring/Hibernate po stronie serwera.
Załóżmy że chcę aby do url "/user/{username}/*
mogli się dostać tylko ci których username jest zgodne (lub ew. jeszcze admini)
Konfigurację robię z użyciem Spring Security z konfiguracją w Javie:
http.httpBasic().and().authorizeRequests().antMatchers("/user/{username}/*")
No i właśnie nie wiem co napisać dalej...
Nie tędy droga. Takie coś to np w metodzie z adnotacjaą @PreAuthorize("i tutaj expresion")
Mi nie chodzi żeby to był ktoś zalogowany,tylko jeśli np. za user/{username} wstawimy user/scibi92 tylko użytkownik scibi92 mógl wejść
@Szczery widziałem gdzieś coś podobnego w sieci ale myślałem że może da się jakoś inaczej ;)
Ja zrobiłbym to tak: w urlu nie podaje login name. Po prostu /my/account. Po stronie backendu wstrzukuje sobie w kontrolerze Principala więc wiem jaki użytkownik jest zalogowany. A dla admina, żeby miał miał dostęp do danych konkretnego użytkownika /{login}/account i w backendzie daje do controllera @PreAuthorize dla admina.
Ustaw sobie to na role, a nie na konkretną nazwę usera, proste, bezpieczne, rozszerzalne.
Tylko czy to zgodne z zasadami RESTa ? ;)
Chyba nie za bardzo...