给定一个用“IS_AUTHENTICATED_FULL”注释的控制器方法和注入的springSecurityService,我很困惑为什么偶尔会看到由于空用户实例而引发的异常。
例如,我的控制器动作就是这样..
@Secured(['IS_AUTHENTICATED_FULLY'])
def ammendSomething = {
def User user = springSecurityService.currentUser
println user.fieldTest
render "OK"
}
大量更改以显示重要位、注释、检索用户和访问字段的调用。
以上导致 NullPointerException: Cannot get property 'fieldTest' on null object
这仅在生产中发生,我无法在开发中复制该问题,因为我在未登录时对此进行的任何调用,我被正确重定向到“auth”登录过程。
因此,当 springSecurityService 中没有 currentUser 时,pringln user.fieldTest 是如何执行的,我感到非常困惑。
任何想法表示赞赏。
谢谢,