0

目前有这个:

<sec:ifLoggedIn>
     <sec:username/><br/>
     <sec:roles/><br/>
      <g:link controller="logout" action="index">Logout</g:link>
</sec:ifLoggedIn>
<sec:ifNotLoggedIn>
    <h1>Who are you?</h1><br/>
    <g:link controller="login" action="auth">LOGIN</g:link>
</sec:ifNotLoggedIn>

这给出了错误:

Tag [roles] does not exist.   No tag library found for namespace: sec

但是,当我删除它时,<sec:roles/><br/>它工作正常。为什么是这样?这只是生产中的一个问题,在 intellij 上一切都很好。

4

2 回答 2

3

rolesspring 安全核心插件中不存在标签。如果您想在视图中显示用户角色,那么您可以创建自己的标签。

class TestTagLib {

    static final namespace = 'myTag'
    def springSecurityService

    def userAuthorities = { attrs ->
        out << springSecurityService.principal.authorities 
        //or out << springSecurityService.authentication.authorities
    }
}

并在你看来使用它

<myTag:userAuthorities/>
于 2014-03-12T18:43:38.937 回答
1

根据 spring security core Grails 插件的文档,没有标签“roles”。这就是它出错的原因。Intellij 可能只是完全忽略了这个标签。

于 2014-02-27T21:43:12.157 回答