suppresswarnings sirven sirve reflexion que para las introspección example ejemplo anotaciones java spring spring-security spring-security-acl

sirven - reflection en java



Caso de uso válido para las anotaciones @PostAuthorize y @PostFilter (2)

Tanto el @PostAuthorize como el @PostFilter se usan, principalmente, en combinación con ACL. Donde @PostAuthorize generará una excepción si se devuelve algo a lo que no se tiene acceso, el @PostFilter eliminará los objetos a los que no se tiene acceso (en general, útiles al devolver colecciones de elementos).

Acabamos de migrar a Spring Security 3.0.8 desde 2.0.8 (podemos actualizar a la versión más reciente que es 3.2.X ya que nuestras bibliotecas principales de primavera todavía están en 3.0.X , y planeamos actualizarlas más adelante cuando el negocio lo permita).

Entiendo que ahora tenemos anotaciones para asegurar métodos como @PreAuthorize , @PostAuthorize , @Secured , @PreFilter y @PostFilter .

Entiendo el uso de @PreAuthorize , que realmente tiene sentido. ¿Pero no puede pensar en ningún caso de uso válido donde alguna @PostAuthorize @PostFilter anotación @PostAuthorize o @PostFilter ?

¿Puede alguien que lo usó explicarme un caso de uso razonable para usarlo?

¡Gracias por adelantado!


@PostFilter filtra la colección devuelta o las matrices después de ejecutar el método. Spring security proporciona un objeto incorporado denominado filterObject en el que @PostFilter realiza la tarea de filtrado.

@PostFilter se puede usar en la capa de servicio con @PreAuthorize y @PostAuthorize .

Use la interfaz para declarar la operación del filtro.

public interface IBookService { @PreAuthorize ("hasRole(''ROLE_READ'')") @PostFilter ("filterObject.owner == authentication.name") public List<Book> getBooks(); @PreFilter("filterObject.owner == authentication.name") public void addBook(List<Book> books); }