在Freemarker模板中检查Spring安全角色和已记录的用户名

bfa*_*fab 5 java security spring freemarker

有没有人知道freemarker标签来检查freemarker文件中的spring安全角色和用户名?

我从网上的几个资源中发现以下代码将打印登录的用户名.但它不是打印用户名,而是打印"登录为"

<security:authorize access="isAuthenticated()">
    logged in as <security:authentication property="principal.username" /> 
</security:authorize>
Run Code Online (Sandbox Code Playgroud)

检查Freemarker文件中的角色也不起作用.有没有人以前做过?

Vim*_*hew 11

以下应该有效:
第1步:在freemarker文件的顶部包含Spring安全标记库
<#assign security=JspTaglibs["http://www.springframework.org/security/tags"] />

第2步:检查角色名称

<@security.authorize ifAnyGranted="ROLE_USER">
    Your role is "ROLE_USER" <br/>
</@security.authorize>
Run Code Online (Sandbox Code Playgroud)

第3步:检查登录用户的登录名

<@security.authorize access="isAuthenticated()">
    logged in as <@security.authentication property="principal.username" /> 
</@security.authorize>

<@security.authorize access="! isAuthenticated()">
    Not logged in
</@security.authorize>
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.