搜索网后,这是我的“最后手段”; - )
我设置了一个JaserServer,其中包含映射到ROLE_USER的用户。我遇到的问题是这些用户可能会做各种各样的事情。
我的设置: Virtualbox Windows XP SP3上安装了 JasperServer 4.1 。
如果您以管理员用户身份登录并右键单击文件夹并选择添加资源,他们需要能够执行您可以执行的所有操作。
我找不到一个页面,您可以更改某些角色的默认文件夹权限。我已经查看了 WEB-INF 文件夹,但无法确定要更改的内容以及单独留下的内容......
欢迎任何帮助!
全部谢谢!
答案 0 :(得分:3)
您需要编辑WEB-INF / actionModel-search.xml文件。每个菜单项都由<option />
标记表示,它们包含在<condition>
标记中,以确定您是否可以看到它们。如果条件标记的test属性是checkAuthenticationRoles,则testArgs属性的值将确定哪些角色可以看到这些选项。如果您想要多个角色,请用逗号分隔。
答案 1 :(得分:3)
这是解决方案。随意使用它; - )
问题
我遇到的问题是一个巨大的问题。在我正在研究的项目中,我们被问到是否可以将JasperServer默认角色权限更改为我们可以告诉我们JasperServer上的某些客户可以添加管理员可以拥有的所有资源。在无休止地搜索网之后,我们处于放弃的地步,但随后出了蓝色,我们得到了一个暗示。这个提示是成功的。 在Stackoverflow上查看上面的帖子。
解决方案
解决方案之一是需要更改/更改JasperServer XML文件。我已经在搜索所有XML文件,但找到合适的文件证明是一个挑战。您需要更改的XML文件位于JasperServer安装目录的WEB-INF文件夹中。在我的机器上就是这个:
C:\Program Files\jasperreports-server-cp-4.5.0-2\apache-tomcat\webapps\jasperserver\WEB-INF
您需要的文件是:actionModel-search.xml
警告:不要忘记先备份原始文件。如果事情好转,你不想重新开始!
解释
首先,安装JasperServer。我只在JasperServer的社区版本上测试了这个。所以我想如果这适用于社区版本,那么它也适用于付费支持版本。 安装完成后,转到JasperReports主页并使用以下凭据登录:
URL: http://localhost:8080/jasperserver
User: jasperadmin
Password: jasperadmin
请注意,这只是虚拟机上的测试设置。如果您打算在生产服务器上执行此操作,请出于安全原因更改jasperadmin用户的密码。
登录后立即创建新用户。 1.点击“管理” 2.单击“用户” 3.单击“添加用户” 一个。提供用户名 湾提供密码 4.单击“添加用户”
现在用户已经完成,您可以继续创建新角色。为此,请按照以下步骤操作:
记下新创建的角色名称,因为这是我们将根据我们的需要“破解”XML的角色。
要将用户添加到角色,请执行以下操作:
您需要做的下一件事是在文件夹上赋予角色read + write + delete权限。
现在你已经准备好了,并且已经准备好“黑客”进入XML文件了。
打开actionModel-search.xml文件。 不要忘记首先获取该文件的副本!
在xml文件的开头,查找一行代码如下所示。
<condition test="checkAuthenticationRoles" testArgs="ROLE_USER,ROLE_ADMINISTRATOR">
这是您需要改变的第一行。将您的角色添加到testArgs部分。确保所有角色都以逗号分隔。
<condition test="checkAuthenticationRoles"> testArgs="ROLE_USER,ROLE_ADMINISTRATOR**,USER_RESOURCES**">
在下一个条件行中进行相同的更改。 保存文件。要使更改成为当前更改,您需要重新启动JasperServer。在Windows系统上,您可以转到
现在使用您创建的用户登录,然后右键单击具有正确权限的文件夹。现在,您可以添加管理员可以添加的所有资源。
如果您希望可以使用XML文件稍微改进一下,以进一步改变行为。例如:您有一个客户端被禁止添加jasper报告的图像。在这种情况下,您可以像下面那样更改XML。
围绕此代码进行条件测试:
<option labelKey="resourceTypes.image" action="invokeCreate" actionArgs="FileResource@@img" className="up"/>
看起来像这段代码:
<condition test=checkAuthenticationRoles” testArgs=”ROLE_ADMINISTRATOR”>
<option labelKey="resourceTypes.image" action="invokeCreate" actionArgs="FileResource@@img" className="up"/></condition>
这样,只有管理员才能将图像添加到文件夹中。 瞧,你们都准备去玩你的JasperReports服务器。
玩得开心!