Spring: Was Parser Parse-Sicherheits Ausdrücke zu verwenden
-
27-09-2019 - |
Frage
Ich möchte Standard-Sicherheits Ausdrücke analysieren wie hasRole
usw. ihren Wert in einer Variablen zu erhalten (in einer JSP). Wie kann ich das machen? SpelExpressionParser
ist der Standard EL-Parser, aber ich glaube nicht, es wird die Sicherheit Ausdruck analysiert.
Lösung
Der einfachste Ansatz ist, einen <sec:authorize>
Tag zu verwenden und eine gewünschte Variable in seinem Körper zu ändern.
Wenn Sie tatsächlich Ausdrücke wollen manuell auszuwerten, Blick auf die Quelle von AuthorizeTag
- es wird die erste Bohne vom Typ WebSecurtyExpressionHandler
aus dem Web-Anwendungskontext und verwendet es ExpressionParser
und EvaluationContext
zu erhalten.
Andere Tipps
Ich habe eine Antwort in diesem Thema hier geschrieben - Wie Ausdrücke Feder Sicherheit programmatisch zu analysieren. Ich denke, das beantwortet Ihre Frage auch.