如果登录用户设置了特定角色,如何使用spring安全性在JSP页面中显示div?

如果登录用户设置了特定角色,如何使用spring安全性在JSP页面中显示div?,spring,jsp,spring-mvc,spring-security,Spring,Jsp,Spring Mvc,Spring Security,我是SpringSecurity的新手,在使用SpringMVC应用程序时遇到以下问题 在JSP页面中,我发现了Sprig安全性标记库的用法: <p class="text-right" style="font-size: 1.50em;"> <security:authentication property="principal.ruoloSelezionato.twp1003Tiporuolo.desRuo"/> </p> 显示登录用户的角色时,

我是SpringSecurity的新手,在使用SpringMVC应用程序时遇到以下问题

在JSP页面中,我发现了Sprig安全性标记库的用法:

<p class="text-right" style="font-size: 1.50em;">
    <security:authentication property="principal.ruoloSelezionato.twp1003Tiporuolo.desRuo"/>
</p>
显示登录用户的角色时,它工作正常。事实上,在我的页面中打印以下输出:Utene ministeriale,这是预期结果,代表我的用户角色

现在我的问题是,在JSP中,只有当登录的用户之前的角色设置为Utene ministeriale时,我才必须将文本显示到…

如何实现此功能?是否存在实现此行为的th Spring安全标记库的特定标记


Tnx能帮你做到这一点吗

<span sec:authorize="hasRole('ROLE_USER')">something</span>

我自己这样解决:

在JSP中,我将specifig principal字段的值放入一个变量中:

<security:authentication property="principal.ruoloSelezionato.twp1003Tiporuolo.desRuo" var="userRole" />
然后我可以使用这个值:

<c:out value="${userRole}"/>

或者在标签内获取条件行为

否,它无法工作。我认为这是因为前面的字段principal.ruoloSelezionato.twp1003Tiporuolo.desRuo不是真正的Spring安全角色,而只是登录用户的主体对象的字段。那么,我如何使用这个属性来显示或不显示消息呢?而且,正如指定的那样,我不是在使用Thymeleaf而是简单的JSP页面,我建议做一些类似的事情,显然在您的上下文中考虑到不同的技术。。。尽管如此,很高兴你解决了这个问题。
<c:out value="${userRole}"/>