如果记录的用户设置了特定角色,我如何使用spring Security将div显示到JSP页面?

时间:2015-12-11 11:13:43

标签: spring jsp spring-mvc spring-security

我是 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

2 个答案:

答案 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"