seguridad de primavera: ¿Por qué no podemos acceder a los parámetros de entidad de Hibernate en @PreAuthorize?
Tengo el siguiente método de interfaz en el que estoy aplicando@PreAuthoriz
e:
@PreAuthorize("doSomething(#user.id)")
void something(User user, List<User> accessList);
dóndeUser
es unEntidad de hibernación objeto. Me da un error :
org.springframework.expression.spel.SpelEvaluationException: EL1007E: (pos 13): El campo o propiedad 'id' no se puede encontrar en nulo en org.springframework.expression.spel.ast.PropertyOrFieldReference.readProperty (PropertyOrFieldReference.java:204)
No hay manera de que eluser
el parámetro es nulo, como si quito la anotación e inspeccione el valor de usuario en el método que implementa este método de interfaz, hay un valor válido.User
objeto presente allí. Además, justo antes de llamar a este método, me he asegurado de que el objeto de usuario se construya correctamente.
Realmente no puedo entender por qué lo haríauser
campo será considerado nulo por el analizador SPEL