我正在使用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
请帮助我。
答案 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'