2012-04-06 101 views

回答

2

您可以爲此目的修改jasperserver\WEB-INF\decorators\decoratorCommonComponents.jsp文件。

這個JSP文件的演示如何隱藏註銷鏈接如果用戶沒有管理員角色的片段:

<%-- 
*********************************************************************** 
authorization for logged in user 
*********************************************************************** 
--%> 
<ul id="metaLinks" class="horizontal"> 
    <li id="userID"> 
     <authz:authorize ifNotGranted="ROLE_ANONYMOUS"> 
      <span id="casted"> 
       <c:if test="<%= com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserAuthorityServiceImpl.isUserSwitched() %>"> 
        <%= ((com.jaspersoft.jasperserver.api.metadata.user.domain.User) 
          com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserAuthorityServiceImpl. 
          getSourceAuthentication().getPrincipal()).getFullName() %> 
        <spring:message code="jsp.main.as"/> 
       </c:if> 
      </span> 
      <authz:authentication property="principal.fullName"/> 
     </authz:authorize> 
    </li> 
    <c:set var="isShowHelp" scope="page"><%= WebHelpLookup.getInstance().isShowHelpTrue() %></c:set> 
    <c:if test="${isProVersion && isShowHelp}"><li id="help"><a href="#" id="helpLink"><spring:message code="decorator.helpLink"/></a></li></c:if>\ 
    <%-- We allow the logout link only for users in ROLE_ADMINISTRATOR role --%> 
    <authz:authorize ifAnyGranted="ROLE_ADMINISTRATOR"> 
     <li id="main_logOut" class="last"><a id="main_logOut_link" href="#" onclick="javascript:return false;"><spring:message code="menu.logout"/></a></li> 
    </authz:authorize> 
</ul> 

我添加<authz:authorize ifAnyGranted="ROLE_ADMINISTRATOR">..</authz:authorize>條件在這個JSP的註銷鏈接

您可以添加另一個邏輯。

+1

如果您只想隱藏註銷鏈接,則可以更輕鬆地將一行添加到custom_overrides.css。像這樣:'#main_logOut {display:none;}'。根據您的確切需求,這兩種解決方案都可以運行 – mdahlman 2012-04-13 16:58:12

+0

但是,如果您需要更安全的解決方案,請執行第一個。 – 2015-07-28 06:33:20

相關問題