我想阻止普通用户安排报告。
只有管理员才有权安排报告。
可以使用JasperReports Server
吗?
答案 0 :(得分:3)
是的,这是可能的。
您应该修改 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)。