我是 Spring Security 的新手,我在Spring MVC应用程序上遇到以下问题。
在JSP页面中,我发现了Sprig Security Taglib的这种用法:
<p class="text-right" style="font-size: 1.50em;">
<security:authentication property="principal.ruoloSelezionato.twp1003Tiporuolo.desRuo"/>
</p>
显示已登录用户的角色,它在我的页面中工作得很好,打印出以下输出: Utente ministeriale ,这是预期的结果,代表我的用户的角色。
现在我的问题是,进入JSP后,只有在记录的用户设置了以前的角色( Utente ministeriale )时,我才必须显示文本(进入<p>...</p>
)。
如何实现此功能?存在一些实现此行为的Spring Security Taglib的特定标记?
TNX
答案 0 :(得分:0)
我自己解决这个问题:
在我的JSP中,我将specifig principal字段的值放入变量:
<security:authentication property="principal.ruoloSelezionato.twp1003Tiporuolo.desRuo" var="userRole" />
然后我可以使用这个值:
<c:out value="${userRole}"/>
(或在 标记内获取cconditional行为)
答案 1 :(得分:-1)
这会成为你的伎俩吗?
<span sec:authorize="hasRole('ROLE_USER')">something</span>
ROLE_USER是用户可以拥有的角色之一,无论您认为合适,都可以进行更改。
要使它工作,你必须定义
xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3"