Grails Spring Security

时间:2013-02-21 08:15:28

标签: grails spring-security

我正在使用Grails开发一个应用程序。

我一直面临着一个问题,每当我在域类中进行一些更改时,应用程序会自动重新运行,当我尝试刷新页面时,我会收到拒绝访问页面,日志显示user Id is null
这是日志

  

使用org.springframework.deerwalk.impl.CustomCasAuthenticationProvider进行身份验证尝试

groovy.lang.MissingMethodException: No signature of method: static com.usermanant.User.get() is applicable for argument types: (java.lang.Long) values: [1]
Possible solutions: getId(), wait(long), setId(java.lang.Long), getAt(java.lang.String), grep(java.lang.Object), wait()
 User:null

请帮助我。

2 个答案:

答案 0 :(得分:2)

如果您使用内存数据库,则只要您对域模型进行更改,就会删除现有项目。

如果您愿意,可以将最小数据集插入bootstrap.groovy。

热替换像MySQL这样的真实数据库通常也需要重启你的应用程序。

答案 1 :(得分:0)

在Config.groovy(在“配置”下)中,您有以下几行:

grails.plugins.springsecurity.userLookup.userDomainClassName = 'com....User'
grails.plugins.springsecurity.userLookup.authorityJoinClassName = 'com....UserRole'
grails.plugins.springsecurity.authority.className = 'com....Role'

这里你应该有正确的班级名称。

在你的情况下:

grails.plugins.springsecurity.userLookup.userDomainClassName ='com.usermanant.User'