Ho la sicurezza del METODO SPRING completamente configurato per la mia applicazione web. (con le annotazioni PRE/POST abilitate).SpelEvaluationException: EL1007E: (pos 43): Campo o proprietà 'gruppo' non può essere trovato su null
Tuttavia recentemente ho riscontrato uno strano problema con loro. Sommario come segue:
sintesi di POJO
// User Class public class User { int id; String name; // getters and setters } // Group Class public class Group { int id; String name; // getters and setters } // GroupMembership class public class GroupMembership { private int id; private User user; private Group group; // getters and setters }
filtro pre-autorizzare il metodo.
@PreAuthorize("canIEditGroupProfile(#membership.group.id)") public int updateGroupMembership(GroupMembership membership) throws GroupsServiceException;
Dopo aver superato completamente popolato GroupMembership
oggetto (corretto uso e composizioni di gruppo presenti), il filtro sicurezza getta eccezione seguente:
errorMessage: "Failed to evaluate expression
canIEditGroupProfile(#membership.group.id)'"
Su scavare eccezione:
La causa è risultata essere:
org.springframework.expression.spel.SpelEvaluationException:
EL1007E:(pos 33): Field or property 'group' cannot be found on null
Si prega di fornire indicazioni per indirizzare lo stesso.
Controllare setter/getter e assicurarsi che siano corretti – xyz
O un "nullo" viene passato come argomento o il codice viene compilato senza informazioni di debug. – zeroflagL