grails - 如何在Config.groovy中使用环境变量

标签 grails groovy

在Config.groovy内部,我设置了一些环境变量:

def appName = grails.util.Metadata.current.getApplicationName()
def casUrl  = "https://login.cas.server/cas"
environments {
    development {
        grails.logging.jul.usebridge = true
        host.address = "12.34.56.78"
        host.port = "8080"
    }
    test {
        grails.logging.jul.usebridge = true
        host.address = "http://staging.server.somewhere.com/"
        host.port = ""
    }
    production {
        grails.logging.jul.usebridge = false
        host.address = "http://www.production.com"
        host.port = ""
    }
 }

我正在尝试在同一配置文件(Config.groovy)中使用这些值,如下所示:
grails.plugin.springsecurity.cas.loginUri = '/login'
grails.plugin.springsecurity.cas.serviceUrl = "${host.address}:${host.port}/${appName}/j_spring_cas_security_check"
grails.plugin.springsecurity.cas.serverUrlPrefix = '${casUrl}'
grails.plugin.springsecurity.cas.proxyCallbackUrl = "/secure/receptor"
grails.plugin.springsecurity.logout.afterLogoutUrl = "${casUrl}/logout?url=${host.address}:${host.port}/${appName}/"

但是,唯一要解决的是appName变量,其他所有内容都为null。这是可以做到的吗?看来它是在此帖子中用过的Grails: Spring Security CAS Working in 2.2.3,但我似乎无法解决它们。

如果我做类似的事情
def appName = grails.util.Metadata.current.getApplicationName()
def casUrl = "https://login.umt.edu/cas"
host.address = "MyAddress"
environments {
...

configSlurper解析CAS配置内的host.address,为什么我不能访问环境变量?

最佳答案

请参阅基本配置下的答案here

However, you can't nest after using the dot notation. In other words, this won't work


// Won't work!
foo.bar {
    hello = "world"
    good = "bye"
}

因此,尝试使用这样的嵌套
foo {
   bar {
    hello = "world"
    good = "bye"
   }
}

关于grails - 如何在Config.groovy中使用环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20570432/

相关文章:

recursion - 在 Groovy 中将递归闭包更改为 TrampolineClosure

Jenkins 管道 sh 添加新行

grails - Grails Spring安全核心允许通过url进行身份验证

grails - 更改GGTS中的grails链接资源路径

jquery - Twitter Bootstrap 下拉菜单在部署时不起作用

jenkins - 如何在 Jenkins Job DSL 插件的上下文中使用共享/通用 groovy 方法

java - 相同的链表代码在 groovy 和 java 之间有不同的行为,为什么

java - 具有 TagSoup 和不间断空格值的 Groovy XmlSlurper

java - 无法解决对自制模块的依赖关系

grails - 使用域对象字段创建 View