Внутри Config.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. заводной) как так:
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, все остальное является недействительным. Это что-то, что можно сделать? Похоже, он использовался в этом сообщении здесь 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 решает, что host.address внутри конфигурации CAS, почему я не могу получить доступ к переменным enviornment?
Сколько хранится 'environment' в файле' config.groovy'. Это должно быть только одно. – Alidad