给定一个用'IS_AUTHENTICATED_FULL'注释的控制器方法,以及注入的springSecurityService,我很困惑为什么我偶尔会看到因空用户实例而引发异常。
E.g。我的控制器动作就是这样......
@Secured(['IS_AUTHENTICATED_FULLY'])
def ammendSomething = {
def User user = springSecurityService.currentUser
println user.fieldTest
render "OK"
}
重新改变以显示重要位,注释,检索用户和访问字段的调用。
以上导致NullPointerException:无法在null对象上获取属性'fieldTest'
这只发生在生产中,我无法在开发中复制问题,因为我在未登录时对此进行了任何调用,我被正确地重定向到'auth'登录过程。
所以我很困惑,当springSecurityService中没有currentUser时,pringln user.fieldTest会被执行。
任何想法都赞赏。
谢谢,