2014-02-27 30 views
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一切都很好。

回答

3

没有标签roles存在于spring security core插件中。如果你想在视图中显示用户角色,那么你可以创建自己的标签。

class TestTagLib { 

    static final namespace = 'myTag' 
    def springSecurityService 

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

,并用它在您查看的

<myTag:userAuthorities/> 
1

根据用于Spring Security核心Grails插件的documentation,没有标签“角色”。这就是它错误的原因。 Intellij可能完全忽略这个标签。

相关问题