Ho ottenuto il web dell'applicazione con Using Spring Boot (con Spring MVC REST API), sto cercando un metodo per proteggere i dati per consentire all'utente di ottenere solo il suo.
Ad esempio, abbiamo ottenuto 4 tabelle, Utente -> Tabella1 ->Table2 -> Table3, tutte le realizzazioni "s in uno a molti. Sto cercando il metodo più semplice per la richiesta di filtro" findAll () ", quando l'utente va su / table3 c'è un controller che restituisce Table3Service.findAll () e i" m desidera filtrare per restituire solo i dati che credono all'Utente.
Grazie per qualsiasi consiglio!
risposte:
0 per risposta № 1Sembra che tu abbia bisogno dell'annotazione @PostFilter
@PostFilter("hasPermission(filterObject, "read") or hasPermission(filterObject, "admin")")
public List<Contact> getAll();
e implementare metodi
boolean hasPermission(Authentication authentication, Object targetDomainObject, Object permission);
boolean hasPermission(Authentication authentication, Serializable targetId, String targetType, Object permission);
Controlla di più Qui