抱歉,我们无法找到具有该用户名和密码的用户。 (Grails-Spring安全核心)

时间:2013-11-19 15:39:30

标签: grails spring-security

我是Grails的新手并尝试使用Spring Security Core插件为用​​户分配角色。我把我的项目称为“MyProject”。

在为我的模型生成控制器和视图后,在Config.groovy中,我设置了一个必需的登录名,以便访问/ userMyProject /:

grails.plugin.springsecurity.controllerAnnotations.staticRules = [
    '/userMyProject/**':               ['ROLE_ADMIN']
]

然后在BootStrap.groovy我自动创建一些用户和角色:

def init = { servletContext ->
    def role1 = new Role();
    role1.setAuthority("ROLE_ADMIN")
    role1.save();

    def user1 = new UserMyProject();
    // ... assigning name, username, password...
    user1.save();

    new UserMyProjectRole(userCwitter:user1, role:role1).save();
}

但是当我转到我的UserMyProjectController页面时,它会正确打开登录页面但总是大喊抱歉,我们无法找到具有该用户名和密码的用户。我能够在我的数据库中看到它。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

在部分中:

// ... assigning name, username, password...

您是否在编码密码(1.2版之前)?

def springSecurityService
...
springSecurityService.encodePassword('password')

关于如何setup Spring security with Grails的一个很好的参考。

编辑:

您确定用户已保存在数据库中吗?如果您的用户在此,请添加save(flush: true, failOnError: true)并检查数据库。