2016-12-16 5 views
0

Im Grails Config.groovy haben wir "interceptUrlMap" definiert wie:Grails Spring Security - Load "interceptUrlMap" dynamisch

grails.plugin.springsecurity.interceptUrlMap = [ 
'/': ['IS_AUTHENTICATED_ANONYMOUSLY'], 
'/login/**': ['IS_AUTHENTICATED_ANONYMOUSLY'] 
] 

Diese Werte sind hartcodiert. Ich wollte nur diese InterceptUrlMap von der Datenbank laden. Gibt es einen Weg, dies zu erreichen?

Danke.

Antwort

0

Sicher. Schauen Sie sich einfach official docs an. Sie sollten verwenden:

grails.plugin.springsecurity.securityConfigType = "Requestmap"

und dann zum Beispiel:

new Requestmap(url: '/profile/**', configAttribute: 'ROLE_USER').save()

+0

diese approch ist die definierte URL-Zuordnung an die DB zu speichern. Ich habe eine benutzerdefinierte Tabelle und möchte nur diese Werte aus der DB holen und in die Karte (interceptUrlMap) einfügen. – user3515080

+0

Ich verstehe nicht, was Sie erreichen möchten. Was genau willst du von db laden? Können Sie uns ein Beispiel geben? –

+0

Ich habe Tabelle für diese Konfigurationen und ich habe Benutzeroberfläche, um diese URL und Rollen zu verwalten. Ich möchte die URL und die Rolle Details in Server-Seite wie "Requestmap" nicht hart Code machen. Um neue URLs und Rollen hinzuzufügen, muss ich die Groovy-Datei editieren, so dass es Probleme gibt, wenn die Anwendung in der Produktion läuft. Der Server sollte wegen Hinzufügen neuer Werte nicht neu gestartet werden. Von der Benutzeroberfläche werde ich die neue URL und Rolle hinzufügen und dann sollte es in der DB speichern und es sollte die Federsicherheitskonfiguration neu laden. – user3515080

Verwandte Themen