Grails手动测试用户帐户创建

问题描述:

我在grails应用程序中工作,我被要求为我们的网站创建一个测试用户。我确实在管理员控制器中编写了代码,并在他的页面中给出了链接。代码工作,我也可以看到这个测试用户的细节。但是当我尝试使用测试用户详细信息登录时,我无法登录。Grails手动测试用户帐户创建

def createTestUser = { 
    String timeStr = System.currentTimeMillis() + '' 
    //def user = userService.createQuickUser(timeStr + '@test.supjam.com', timeStr, 'test-user') // TODO requires supajam-domain 2011.12.5.1 
    def user = userService.createQuickUser(timeStr + '@test.supajam.com', 'test-user') 
    user.passwd = timeStr 
    user.dailyNews = false 
    user.offers = false 
    user.emailConfirmed = true 
    user.enabled = true 
    user.save(failOnError: true) 
} 

这是代码。如果有人可以请求帮助,我会感谢他们。

+0

请出示您的userService代码和登录代码 – 2012-02-09 10:39:06

+0

你通过“我可以看到这个测试用户的详细信息”,用户是在数据库中是什么意思? – Peter 2012-02-09 11:42:06

+0

我得到了这个问题的解决方案...........我正在使用弹簧安全。而当添加测试用户时,我采用了加密,因此无法匹配密码。 – vivek 2012-02-10 16:02:12

这类似的问题,有一些调试技巧:

Grails spring security login issue: /auth?login_error=1

我喜欢把log.debug()语句在authfail()如果块。

if (exception instanceof AccountExpiredException) { 
    msg = SpringSecurityUtils.securityConfig.errors.login.expired 
    log.debug "exception - ${msg}" // added this 
}