Wpis z mikrobloga

Jak w springu najlepiej zabezpieczyć aplikacje webow'a aby każdy user mógł wykonywać tylko swoje akcje np. edytować/usuwać tylko swoje posty? Czy można do tego jakoś użyc spring security czy raczej nie?
#programowanie #java #spring
  • 14
@sili: Jak masz wiecej obiektow domenowych z takim ograniczeniem dostepu, to obczaj ACL: https://www.baeldung.com/spring-security-acl Robi dokladnie to co chcesz. Jak to tylko pojedyncza historia, to pewnie wystarczy cos w stylu @PreAuthorized("@permissionService.canEditPost(#id)") na metodzie. PermissionService implementujesz sobie sam jako bean i mozesz przekazywac do niego wartosci z requesta HTTP (np. #id).
via Wykop Mobilny (Android)
  • 0
@Brodeon: uzyj jwt security, do generowania tokena uzywaj najlepiej id (nie musisz sie potem bawic w usuwanie tokena po zmianie username) w tokenie, potem w controllerze @RequestHeader("Authorization"), robisz sobie statyczna metode gdzies ktora ci ekstraktuje id z tokena i podajesz go dalej do serwisu w ktorym sprawdzasz czy uzytkownik ma dostep
@Bruno_: Co prawda TokenEnchancer jak teraz sprawdziłem robi co innego ale również przydatną rzecz, tak w oauth2 nie można wbić userId do tokena JWT w oauth2 ( ͡° ʖ̯ ͡°). Widzę że ty masz zwykłą tokenową autoryzację. Miałem tak kiedyś zrobione w projekcie ale przeszedłem na oauth2 ( ͡° ͜ʖ ͡°)