无法在Orbeon代理portlet中检索liferay用户名

时间:2013-04-12 09:03:11

标签: orbeon

目前,我正在尝试在Liferay中集成一个检索用户名的Orbeon表单。 (我在这里描述了问题:http://discuss.orbeon.com/Unable-to-retrieve-liferay-roles-in-Orbeon-proxy-portlet-td4656273.html - 帖子2)

为此,我创建了一个带有一个输入字段的简单表单,我想在此字段中获取Liferay用户名。我测试了小写的所有配置(Unable to retrieve Header information on Orbeon 4.0.1 but works on 3.9)并且没有返回任何内容。

首先:我使用http://wiki.orbeon.com/forms/doc/developer-guide/admin/deployment-portlet完成了properties-local.xml,并将所有属性都设置为小写。

properties-local.xml:

  <!-- this is the property for orbeon forms 4.0 -->
    <property as="xs:anyuri"  name="oxf.fr.persistence.exist.exist-uri"
              value="http://orbeonserver:8080/orbeon/exist/rest/db/orbeon/fr"/>

   <!-- configure authentication properties through headers -->
    <property as="xs:string" name="oxf.fr.authentication.method"
              value="header"/>

    <!-- if you want the liferay user email used for form runner authentication -->
    <property as="xs:string"  name="oxf.fr.authentication.header.username"
              value="orbeon-liferay-user-email"/>

    <!-- if you want liferay roles used -->
    <property as="xs:string" name="oxf.fr.authentication.header.roles"
              value="orbeon-liferay-user-roles"/>

    <!-- to propagate username/roles to the persistence layer, if using authentication -->
    <property as="xs:string"  name="oxf.xforms.forward-submission-headers"
              value="orbeon-username orbeon-roles"/>

在我的表单中,我使用xxf:get-request-header()来获取Liferay用户名:

<xf:bind id="userName-bind" name="userName" ref="userName"
         xxf:default="xxf:get-request-header('orbeon-liferay-user-email')"/>

最后要在Liferay中插入表单,我使用了orbeon proxy-portlet.war(此方面没有配置)。

我看到了表单,但字段仍为空。什么都没有归还。我错过了一步?

仅供参考,我使用:liferay-portal-6.1.1-ce-ga2和orbeon-4.0.1.201303152357-PE(免费试用许可证)。 Orbeon和Liferay在两个不同的服务器上。

1 个答案:

答案 0 :(得分:0)

您可能想要尝试最新版本的Orbeon代理portlet(来自github的4.1-ce),因为以下问题仅在一个月前关闭:
https://github.com/orbeon/orbeon-forms/issues/886“代理portlet:配置标头和参数转发的能力”。因此,Orbeon代理portlet的4.01版本缺乏这种能力。