我已将My Spring安全插件从 spring-security-core:1.2.7.2 升级到 spring-security-core:2.0-RC2 ,我的应用程序正在使用Grails 2.3.7。
升级后,我相应地更改了导入,因此所有编译错误都得到修复,但在我尝试访问它之后运行我的应用程序http://localhost:8080/login/auth
我得到了例外:
引起:groovy.lang.MissingPropertyException:没有这样的属性:类的id:org.springframework.security.core.userdetails.User
因为auth.gsp使用的是自定义标记lib,代码就像 if(springSecurityService.principal!=“anonymousUser”)user = SecUser.get( springSecurityService.principal.id )
这里是说没有这样的属性:类的id:org.springframework.security.core.userdetails.User
不确定如何解决此问题...
答案 0 :(得分:0)
直到我能看到你想要的是检索当前记录的用户ID,有一个特殊的助手只能获得用户ID " loadCurrentUser()"
我从grails spring security core plugin in section loadCurrentUser()
粘贴此代码class SomeController {
def springSecurityService
def someAction() {
def user = springSecurityService.isLoggedIn() ? springSecurityService.loadCurrentUser() : null
if (user) {
CreditCard card = CreditCard.findByIdAndUser(params.id as Long, user)
…
}
…
}
}
我希望它有用