0

希望获得 Worklight 控制台身份验证,我按照 infocenter 上此链接的信息中心说明进行操作。乍一看,它似乎在工作,因为进入控制台会提示登录表单。

转到控制台 URLhttp://192.168.168.154:9080/finance/console/#catalog会立即进入登录页面。到目前为止,一切都很好。

输入正确的用户名/密码(均在 worklight.properties 中定义)后,登录页面重定向到端口 10080 的 Worklight 控制台,并且无法加载页面

无法连接 Firefox 无法与 192.168.168.154:10080 的服务器建立连接。

如您所见,它尝试连接到http://192.168.168.154:10080/finance/console. 我猜它不应该发生,因为端口 10080 没有配置。

我不知道为什么它会重定向到这个端口。我在配置文件中搜索了 10080,但找不到任何对它的引用。我认为 WL 以某种方式将这个 10080 作为默认值,因为它是用于开发的端口。

这是我用来启用登录控制台的文件片段:

worklight.properties:

#publicWorkLightHostname=localhost
# http or https
#publicWorkLightProtocol=http
# For default port leave empty
#publicWorkLightPort=10080  <-- it is commented out

console.username=finance
console.password=finance

身份验证配置.xml

 <staticResources>
    <resource id="worklightConsole" securityTest="WorklightConsole">
            <urlPatterns>/console*</urlPatterns>
    </resource> 
    ....
</staticResources>

 <securityTests>

        <customSecurityTest name="WorklightConsole">
            <test realm="WorklightConsole" isInternalUserID="true"/>
        </customSecurityTest>
  ...
</securityTests>

服务器.xml

   <httpEndpoint id="defaultHttpEndpoint"
                  host="*"
                  httpPort="9080"
                  httpsPort="9443" >
        <tcpOptions soReuseAddr="true"/>
    </httpEndpoint>
    <!-- Declare the JNDI properties for the IBM Worklight Console. -->
    <jndiEntry jndiName="worklight/publicWorkLightProtocol" value='"http"'/>
    <jndiEntry jndiName="worklight/publicWorkLightPort" value='"9080"'/>
    <jndiEntry jndiName="worklight/serverSessionTimeout" value='"10"'/>

关于如何解决这个端口不匹配问题的任何想法?Env 在 Liberty 上是 WL 6.0

PS:稍后我们计划改为使用 LDAP。现在,在属性中包含用户名/密码就足够了。

4

1 回答 1

1

worklight.properties中,取消注释该#publicWorkLightPort=10080属性并将其更改为9080

worklight.properties 是部署到应用程序服务器中的 Worklight 项目的 .war 文件的一部分;应用程序服务器可能在 server.xml 中设置了自己的端口号,但 .war(项目)有自己的一些特定属性。

在我的测试过程中,我遇到了同样的问题,但是一旦取消注释并更改了 worklight.properties 中的端口值,登录后重定向就会正常工作。

于 2013-10-01T20:01:56.667 回答