Grails SpringSecurityService:无法在null对象上获取属性'principal'

时间:2015-04-02 15:47:13

标签: grails spring-security

我正在Grails编写更新或更改用户数据表单。这是我表单的一部分,用户可以在其中更改旧登录信息:

<g:form class="form-signin" controller="VisitorSpace">
    <label for="login" class="sr-only">Логин</label>
    <g:textField id="login" class="form-control" name="login" placeholder="Логин" value="${springSecurityService.principal.username}" required="" autofocus=""/>
...
</g:form>

更新前必须显示旧用户数据。我用它:${springSecurityService.principal.username} 但是当我运行这个页面时,我得到了这样的错误:

Error 500: Internal Server Error
URI:/restorator/visitorSpace/editPrivateDataClass:java.lang.NullPointerExceptionMessage:Cannot get property 'principal' on null object

1 个答案:

答案 0 :(得分:1)

为了实现这一目标,您必须通过其模型将springSecurityService传递给GSP。如果您不想传递它,可以使用applicationContext.springSecurityService从上下文中提取它,或者使用taglib而不是服务。