Grails - grails-spring-security-rest - 无法从 application.yml 加载 jwt 机密

Posted

技术标签:

【中文标题】Grails - grails-spring-security-rest - 无法从 application.yml 加载 jwt 机密【英文标题】:Grails - grails-spring-security-rest - Impossible to load jwt secret from application.yml 【发布时间】:2018-12-21 21:41:42 【问题描述】:

我正在使用 application.yml 文件为 grails-spring-security-rest 插件加载运行时配置。

grails:
    profile: angularjs
    codegen:
        defaultPackage: telja
    spring:
        transactionManagement:
            proxies: false
    gorm:
        reactor:
            # Whether to translate GORM events into Reactor events
            # Disabled by default for performance reasons
            events: false
    plugin.springsecurity:
        conf:
          rest.token.storage.jwt.secret : 'xxxxxxxxxxxxxxxxxxxxxx'

但是在启动时我收到此消息

配置 Spring Security REST 2.0.0.RC1... 2018-07-13 15:04:58.202 错误 --- [主] os.boot.SpringApplication : 应用启动失败

java.lang.Exception:必须定义 JWT 机密。请提供一个 配置属性的值: grails.plugin.springsecurity.conf.rest.token.storage.jwt.secret

【问题讨论】:

【参考方案1】:

找到解决方案,属性应该声明为

plugin.springsecurity.rest.token.storage.jwt.secret

与日志中的内容相反

grails.plugin.springsecurity.conf.rest.token.storage.jwt.secret

【讨论】:

【参考方案2】:

您可以创建一个 application.groovy 和一个 runtime.groovy 来代替 yml。外部配置插件有一个用于将 yml 转换为 Groovy 配置的脚本: http://plugins.grails.org/plugin/grails/external-config

【讨论】:

以上是关于Grails - grails-spring-security-rest - 无法从 application.yml 加载 jwt 机密的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 grails 命令行编译 grails 项目?

是否可以在 Grails 之外使用 Grails 验证?如何?

Grails:企业级 Grails [关闭]

Grails - grails.converters.JSON - 删除类名

Grails - 在刷新 grails 错误之前保存瞬态实例?

Grails 3 - 资源插件