Планирование управления на сервере JasperReports - PullRequest
1 голос
/ 20 марта 2012

Я хочу запретить обычным пользователям планировать отчет. Только администратор будет иметь право планировать отчет. Возможно ли это с JasperReports Server?

1 Ответ

3 голосов
/ 20 марта 2012

Да, это возможно.

Вам необходимо отредактировать файл jasperserver\WEB-INF\actionModel-search.xml.

Вам необходимо найти определение ScheduleAction в этом файле и добавьте условие для роли ROLE_ADMINISTRATOR :

<context name="resource_menu">
    <simpleAction labelKey="RM_BUTTON_RUN" action="invokeRedirectAction" actionArgs="RunResourceAction"
                  clientTest="canBeRun" className="up"/>
    <condition test="isSupportedDevice">
        <simpleAction labelKey="RM_BUTTON_RUN_IN_BACKGROUND" action="invokeRedirectAction" actionArgs="RunInBackgroundResourceAction"
                      clientTest="canBeRunInBackground" className="up"/>
            <condition test="checkAuthenticationRoles" testArgs="ROLE_ADMINISTRATOR">                         
                <simpleAction labelKey="RM_BUTTON_SCHEDULE_REPORT" action="invokeRedirectAction" actionArgs="ScheduleAction"
                              clientTest="canBeScheduled" className="up"/>
            </condition>          
        <simpleAction labelKey="RM_BUTTON_WIZARD" action="invokeRedirectAction" actionArgs="EditResourceAction"
                      clientTest="canResourceBeEdited" className="up"/>
    </condition>

Я только что добавил <condition test="checkAuthenticationRoles" testArgs="ROLE_ADMINISTRATOR"> для ScheduleActionдействие.

После этого необходимо перезапустить сервер приложений (Tomcat).

...