【发布时间】:2013-10-19 17:53:51
【问题描述】:
我正在尝试将 spring-security-ldap 和 spring-security-core 打包在一个插件中,该插件提供公司标准域类、控制器和一些实用程序。另外,我想包括 LDAP 配置设置。
目的是创建一个所有公司应用程序都可以依赖的插件来快速开发新应用程序。
在我的 BuildConfig.groovy 中有以下插件:
compile ":spring-security-ldap:1.0.5"
compile ":spring-security-core:1.2.7"
然后在我的插件描述符 doWithSpring 闭包中我有动态配置设置:
config.grails.plugins.springsecurity.ldap.authorities.retrieveDatabaseRoles = true
config.grails.plugins.springsecurity.ldap.authorities.retrieveGroupRoles = true
config.grails.plugins.springsecurity.ldap.context.server = 'ldap://<myip>'
config.grails.plugins.springsecurity.ldap.context.managerDn = 'CN=<ldap_user>,CN=Users,DC=company,DC=local'
config.grails.plugins.springsecurity.ldap.context.managerPassword = 'secret'
config.grails.plugins.springsecurity.ldap.search.base //etc...
现在我的描述符中还有一个 loadBefore 可以说:
def loadBefore = ["springSecurityCore"]
这在我的本地机器上效果很好,只有当我编译 CI 软件时它才会失败。
构建 2013 年 10 月 11 日 09:26:30 C:\Users\me.grails\2.1.1\projects\MyApp\plugins\spring-security-ldap-1.0.5\src\java\org\codehaus\groovy\grails\plugins\springsecurity\ ldap\DatabaseOnlyLdapAuthoritiesPopulator.java:22: 错误:包 org.springframework.ldap.core 不存在 构建 2013 年 10 月 11 日 09:26:30 导入 org.springframework.ldap.core.DirContextOperations;
有没有办法在 SpringSecurity 插件使用它们的默认值之前预设配置信息?
有什么方法可以在我更改插件配置后“重新加载”它们?
编辑 插件示例现在在Github
【问题讨论】:
标签: grails spring-security grails-plugin