如何在Jasper Server UI主页上禁用/隐藏用户的注销链接?
答案 0 :(得分:2)
您可以为此目的修改 jasperserver\WEB-INF\decorators\decoratorCommonComponents.jsp
文件。
此jsp文件的片段,演示如果用户不在ADMINISTRATOR角色中,如何隐藏注销链接:
<%--
***********************************************************************
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>
我在此jsp中为注销链接添加了<authz:authorize ifAnyGranted="ROLE_ADMINISTRATOR">..</authz:authorize>
条件。
您可以添加其他逻辑。