目前,我正在尝试在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在两个不同的服务器上。
答案 0 :(得分:0)
您可能想要尝试最新版本的Orbeon代理portlet(来自github的4.1-ce),因为以下问题仅在一个月前关闭:
https://github.com/orbeon/orbeon-forms/issues/886“代理portlet:配置标头和参数转发的能力”。因此,Orbeon代理portlet的4.01版本缺乏这种能力。