无法获得在Orbeon 4 M11中工作的授权服务(orbeon-auth)

时间:2012-10-16 14:27:12

标签: orbeon

Orbeon / Tomcat新手在这里 - 希望我只是错过了一些明显的东西......

我在Orbeon 4 M11&我想尝试捆绑的orbeon-auth作为授权服务,如下所述:http://wiki.orbeon.com/forms/doc/developer-guide/page-flow-controller/authorization

我最初甚至无法让orbeon-auth工作,但现在我已经到了这一点,如果我访问http://localhost:8080/orbeon-auth它将提示身份验证,如果我输入正确的凭据将返回http 200。现在我需要配置我的页面以使用orbeon-auth。根据上面链接中的说明,我需要设置此属性:

<property as="xs:anyURI" processor-name="oxf:page-flow" name="authorizer" value="/orbeon-auth"/>

但我不确定在哪里放置代码。我认为它可能会放在<controller>标签内的page-flow.xml中,但当我把它放在那里时&amp;尝试访问一个页面,我收到“Orbeon Forms - 发生错误”错误页面。我也尝试将它放在properties-local.xml中但是没有做任何事情。希望有人能指出我正确的方向......

以下是我的properties-local.xml:

的全部内容
<!--
    This file is an empty template for your own properties-local.xml file. Please follow the instructions here:

    http://wiki.orbeon.com/forms/doc/developer-guide/configuration-properties
-->
<properties xmlns:xs="http://www.w3.org/2001/XMLSchema"
            xmlns:oxf="http://www.orbeon.com/oxf/processors">

    <!-- This is an example of property which overrides an existing property's default value:
    <property as="xs:NMTOKENS"
              name="oxf.xforms.logging.debug"
              value="document model submission submission-details control event action analysis server html"/>
    -->
    <property as="xs:string" name="oxf.fr.persistence.provider.Test.*.*" value="oracle"/>
    <property as="xs:string" name="oxf.fr.persistence.provider.FieldReports.*.*" value="oracle"/>

    <property as="xs:string" name="oxf.fr.persistence.service.oracle.datasource" value="oracle"/>

    <property as="xs:boolean" name="oxf.fr.persistence.oracle.create-flat-view" value="true"/>

    <property as="xs:string"  name="oxf.fr.summary.buttons.*.*" value="new print delete"/>

    <property as="xs:string" name="oxf.fr.detail.buttons.*.*" value="close clear print save save-locally submit workflow-review workflow-send"/>

    <property as="xs:boolean" name="oxf.fr.detail.edit.accept-post.*.*" value="true"/>

    <property as="xs:anyURI" name="oxf.fr.default-logo.uri.*.*"
                         value="/usr/local/tomcat/webapps/orbeon4pe/WEB-INF/resources/wb-logo.png"/>
    <property
        as="xs:anyURI"
        processor-name="oxf:page-flow"
        name="authorizer"
        value="/orbeon-auth"/>
</properties>

我没有更改/WEB-INF/resources/page-flow.xml或orbeon-auth /WEB_INF/web.xml文件 - 它们是开箱即用的。

1 个答案:

答案 0 :(得分:1)

我很困惑这个功能应该如何运作。我通过将以下内容添加到/WEB-INF/config/properties-local.xml来覆盖默认页面公共方法(GET&amp; HEAD):

<property
  as="xs:string"
  processor-name="oxf:page-flow"
  name="page-public-methods"
  value="HEAD"/>

...并且外部GET请求确实首先导致对orbeon-auth的调用(没有提示进行身份验证,不确定这是否是预期的行为 - orbeon-auth只返回401 / Unauthorized,然后立即403 / Forbidden,没有提示)。