【问题标题】:Grails Spring Security - Load "interceptUrlMap" dynamicallyGrails Spring Security - 动态加载“interceptUrlMap”
【发布时间】:2017-05-02 03:27:27
【问题描述】:

在 Grails Config.groovy 中,我们定义了“interceptUrlMap”,如下所示:

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

这些值是硬编码的。我只是想从数据库中加载这个 interceptUrlMap。有什么方法可以实现吗?

谢谢。

【问题讨论】:

    标签: grails groovy spring-security


    【解决方案1】:

    当然。只需查看official docs。你应该使用:

    grails.plugin.springsecurity.securityConfigType = "Requestmap"

    然后例如:

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

    【讨论】:

    • 此方法是将定义的 url 映射保存到数据库。我有用户定义的表,只想从数据库中获取这些值并将其放入地图(interceptUrlMap)。
    • 我不明白你想要达到什么目的。你到底想从数据库加载什么?你能提供一个有问题的例子吗?
    • 我有这些配置的表格,我有管理这些 url 和角色的用户界面。我不想像“Requestmap”那样在服务器端硬编码url和角色详细信息。要添加新的 url 和角色,我需要编辑 groovy 文件,因此当应用程序在生产环境中运行时,这将是一个问题。由于添加了新值,服务器不应重新启动。从用户界面我将添加新的 url 和角色,然后它应该保存在数据库中,它应该重新加载 spring 安全配置。
    猜你喜欢
    • 2017-05-18
    • 2011-09-12
    • 2015-02-05
    • 2018-12-21
    • 2011-07-08
    • 2015-06-11
    • 2019-05-09
    • 2012-02-19
    • 2012-09-09
    相关资源
    最近更新 更多