JasperServer默认角色权限

时间:2012-04-05 09:38:41

标签: permissions jasper-reports roles jasperserver

搜索网后,这是我的“最后手段”; - )

我设置了一个JaserServer,其中包含映射到ROLE_USER的用户。我遇到的问题是这些用户可能会做各种各样的事情。

我的设置: Virtualbox Windows XP SP3上安装了 JasperServer 4.1

如果您以管理员用户身份登录并右键单击文件夹并选择添加资源,他们需要能够执行您可以执行的所有操作。

我找不到一个页面,您可以更改某些角色的默认文件夹权限。我已经查看了 WEB-INF 文件夹,但无法确定要更改的内容以及单独留下的内容......

欢迎任何帮助!

全部谢谢!

2 个答案:

答案 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.单击“添加用户”

现在用户已经完成,您可以继续创建新角色。为此,请按照以下步骤操作:

  1. 点击“管理”
  2. 点击“角色”
  3. 点击“添加角色”
  4. 填写角色名称
  5. 点击“添加角色”
  6. 记下新创建的角色名称,因为这是我们将根据我们的需要“破解”XML的角色。

    要将用户添加到角色,请执行以下操作:

    1. 点击您刚刚创建的角色
    2. 点击“编辑”
    3. 选择需要新角色的用户。
    4. 点击“保存”。
    5. 您需要做的下一件事是在文件夹上赋予角色read + write + delete权限。

      1. 右键单击文件夹
      2. 点击“权限”
      3. 选择需要此访问权限的角色旁边的读取+写入+删除
      4. 现在你已经准备好了,并且已经准备好“黑客”进入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系统上,您可以转到

        • 停止:所有程序=&gt; JasperReports Server ... =&gt;开始或停止 服务=&gt;停止服务
        • 开始:所有程序=&gt; JasperReports Server ... =&gt;开始或停止 服务=&gt;启动服务

        现在使用您创建的用户登录,然后右键单击具有正确权限的文件夹。现在,您可以添加管理员可以添加的所有资源。

        如果您希望可以使用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服务器。

        玩得开心!