在Jasper Server UI主页上隐藏用户的注销链接

时间:2012-04-06 13:42:56

标签: jasper-reports jasperserver

如何在Jasper Server UI主页上禁用/隐藏用户的注销链接?

1 个答案:

答案 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>条件。

您可以添加其他逻辑。