2016-12-16 34 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