J'envisage d'utiliser les annotations Spring Security pour mon application, avec la fonction EL (langage d'expression). Par exemple:Annotations de sécurité Spring avec EL - nécessite la compilation des informations de débogage?
@PreAuthorize("hasPermission(#contact, 'admin')")
public void deletePermission(Contact contact, Sid recipient, Permission permission);
J'ai besoin de la capacité EL parce que j'ai construit ma propre implémentation d'ACL. Toutefois, pour utiliser cette fonctionnalité avec les arguments de type « #contact », la documentation de printemps dit ceci:
Vous pouvez accéder à toute la méthode arguments par nom expression les variables, à condition que votre code a des informations de débogage dans compilé
Cela soulève deux questions:.
- Il est acceptable d'avoir une application de production commercialement distribué avec des informations de débogage en elle?
- Si ce n'est pas le cas, y a-t-il un moyen de contourner le ?
Merci pour toute indication à ce sujet!
Ce sont d'excellentes choses. Je ne savais pas à propos de cette interface. Sur la base de cette implémentation, je suppose que je ferais référence aux arguments par numéro dans l'annotation: @PreAuthorize ("hasPermission (# arg0, 'admin')") Pour être honnête - je pense que c'est bien pour mes fins . Comment vous sentez-vous à propos des informations de débogage dans les fichiers JAR distribués? – HDave
@HDave: Je ne peux rien dire à propos des informations de débogage dans le code distribué, personnellement, je n'aime pas les choses dépendant du débogage car cela rend le comportement du code dépendant des options du compilateur. – axtavt
Est-ce encore le meilleur moyen, à partir du printemps, la secrétabilité 3.1, octobre 2013? – NimChimpsky