目前有这个:
<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一切都很棒。
答案 0 :(得分:3)
Spring安全核心插件中不存在标记roles
。如果要在视图中显示用户角色,则可以创建自己的标记。
class TestTagLib {
static final namespace = 'myTag'
def springSecurityService
def userAuthorities = { attrs ->
out << springSecurityService.principal.authorities
//or out << springSecurityService.authentication.authorities
}
}
并在视图中使用
<myTag:userAuthorities/>
答案 1 :(得分:1)
根据Spring安全核心Grails插件的documentation,没有标记“roles”。这就是它出错的原因。 Intellij可能完全忽略了这个标签。