将 Spring 安全属性加载到 JSP 变量中

ndr*_*zza 1 security variables spring jsp

我想将 Spring Security 属性加载到变量中。

变量:

  • 正文中edit提供的布尔值POST(加载工作正常)
  • isSupervisor如果用户具有主管角色,则布尔值应该为真(我不知道如何将其加载到可访问的变量中。我尝试了许多不同的方法,但没有奏效。)

代码:

//set somehow the isSupervisor variable
//var isSupervisor = hasRole('ROLE_SUPERVISOR')    
<c:if test="${edit} and not isSupervisor">
... do something
</c:if>
Run Code Online (Sandbox Code Playgroud)

ndr*_*zza 5

我找到了这个解决方案:

<!-- Boolean isSupervisor -->
<!-- needed for creating the boolean: !isSupervisor -->
<c:set var="isSupervisor" value="false" />
<sec:authorize ifAllGranted="ROLE_SUPERVISOR">
    <c:set var="isSupervisor" value="true" />
</sec:authorize>


<c:if test="${!edit || (edit && !isSupervisor)}">
    // do some opertations...
</c:if>
Run Code Online (Sandbox Code Playgroud)