2016-12-16 32 views
0

在Grails的Config.groovy中,我們定義 「interceptUrlMap」,如:Grails的春季安全 - 裝載 「interceptUrlMap」 動態

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

這些值是硬編碼。我只是想從數據庫中加載這個interceptUrlMap。有什麼辦法可以做到這一點?

謝謝。

回答

0

當然。請檢查official docs。您應該使用:

grails.plugin.springsecurity.securityConfigType = "Requestmap"

,然後例如:

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

+0

這個計算策略是保存定義URL映射到數據庫。我有用戶定義的表,只是想從數據庫中獲取這些值,並把它放到地圖上(interceptUrlMap)。 – user3515080

+0

我不明白你想達到什麼目的。你想從db加載什麼?你能否提供一個有問題的例子? –

+0

我有這些配置表,我有用戶界面來管理這些網址和角色。我不想在服務器端像「請求地圖」那樣硬編碼URL和角色詳細信息。要添加新的url和角色,我需要編輯groovy文件,這樣當應用程序在生產環境中運行時會出現問題。由於添加新值,服務器不應重新啓動。從用戶界面我將添加新的URL和角色,然後它應該保存在數據庫中,它應該重新加載彈簧安全配置。 – user3515080