没有这样的属性:类的id:org.springframework.security.core.userdetails.User

时间:2014-05-25 05:41:48

标签: grails spring-security grails-plugin

我已将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

不确定如何解决此问题...

1 个答案:

答案 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)
      … 
     }
    …
  }
}

我希望它有用