【发布时间】:2012-03-20 06:28:42
【问题描述】:
我想阻止普通用户安排报告。
只有管理员有权安排报告。
JasperReports Server可以吗?
【问题讨论】:
标签: jasper-reports jasperserver
我想阻止普通用户安排报告。
只有管理员有权安排报告。
JasperReports Server可以吗?
【问题讨论】:
标签: jasper-reports jasperserver
是的,有可能。
您应该编辑 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>
我刚刚为ScheduleAction 操作添加了<condition test="checkAuthenticationRoles" testArgs="ROLE_ADMINISTRATOR">。
之后你应该重启应用服务器(Tomcat)。
【讨论】:
jasperreportsTomcat Windows 服务来重启 Tomcat,也可以在 $jasperreports-server$\apache-tomcat\bin 文件夹中的 cmd 中手动重启它:1) 运行 catalina stop 2)停止并编辑 xml 文件后运行 catalina start