是否可以在test
环境中禁用密码检查?我找不到一个允许这个的配置项,正在考虑BootStrap.groovy
中的一些元编程,但没有取得任何成功......
import grails.util.Environment
switch (Environment.current) {
case Environment.TEST:
springSecurityService.metaClass.passwordOk = { true } // if it was only simple as this :)
...
有什么想法吗?
注意:我使用LDAP插件进行身份验证
答案 0 :(得分:1)
你试过了吗?
test {
grails.plugins.springsecurity.active = false
}
这将禁用spring安全插件,因此没有任何弹簧安全措施可以正常工作。您必须创建一个存根来获取currentUser:
class StubSpringSecurityService {
def currentUser
Object getCurrentUser() {
return currentUser
}
String encodePassword(String password, salt = null) {
return password
}
}
放入resources.groovy
if (GrailsUtil.environment == "test"){
springSecurityService(StubSpringSecurityService)
}
然后在你的bootstrap文件中
if (GrailsUtil.environment == "test") {
def testUser = new User()
testUser.save(failOnError: true)
springSecurityService.currentUser = testUser;
}