Sto tentando di autorizzare le API esposte da Spring Data REST. Finora io sono in grado di fare basata sui ruoli autorizzazione cioè:Utilizzo di Spring Security ACL con Spring Data REST
@RepositoryRestResource(path = "book")
public interface BookRepository extends JpaRepository<Book, Long> {
@PreAuthorize("hasRole('ROLE_ADMIN')")
<S extends Book> Book save(Book book);
}
anche nello stesso progetto ho un livello di servizio con il meccanismo di ACL, che sta lavorando.
io sono in grado di usare l'espressione con la Primavera postfiltro dati REST cioè:
@PostFilter("hasPermission(filterObject, 'read') or hasPermission(filterObject, admin)")
List<Book> findAll();
Sarebbe di grande aiuto, se qualcuno utilizza ACL con la Primavera dati REST.
Nota: Sono consapevole di seguito le questioni aperte:
https://jira.spring.io/browse/DATAREST-236
https://jira.spring.io/browse/SEC-2409
Lei merita un intervento (anche un anno e mezzo dopo) per aver trovato il tempo per venire e inviare la risposta al tuo problema. Grazie ! –
Come filtrare i risultati usando '@ PostAuthorize' all'interno di una funzione' findAll() 'basata su valori di entità individuali all'interno dell'array pagabile? –
@ W.M. per pageable '@ PostAuthorize' non è una buona idea. Si prega di fare riferimento a https://docs.spring.io/spring-security/site/docs/4.0.x/reference/htmlsingle/#data-query –