2013-06-24 11 views
6

Ich migriere eine WEB-Anwendung zu Spring Security. Die Anwendung verwendet Spring MVC zum Rendern von JSPs und Controller-Methoden werden mit @Secured(...) kommentiert.Spring WEB security: Liste der verfügbaren URLs

Also, irgendwann nach der erfolgreichen Anmeldung und MVC-Servlet-Initialisierung einige Spring Interna diese Information: welche Berechtigungen der Benutzer (auch erteilte Berechtigungen), Controller-URLs und Berechtigungen, für jede dieser benötigt.

Ich möchte dynamisch eine Liste von URLs abrufen, auf die der aktuelle Benutzer zugreifen kann, um eine Navigationsleiste zu erstellen.

Natürlich kann ich einige Frühlingsbohnen dafür überschreiben, aber dieser Ansatz scheint zu schmutzig. Also, irgendwelche Vorschläge, wie das geht, vielleicht Standardlösungen?

+0

http://stackoverflow.com/q/453925/106261 – NimChimpsky

Antwort

3

Sie können versuchen, spring security tag lib in der jsp verwenden, iteriert über die Liste der Controller URLs

<sec:authorize url="/admin"> 
This content will only be visible to users who are authorized to send requests to the "/admin" URL. 
</sec:authorize> 
+2

Diese Technik wird nur mit der URL basierten Zugriff arbeiten Regeln, werden jedoch die feinkörnigen Zugriffsregeln, die von @Secured auf Methodenebene definiert sind, nicht beachten. – Ralph