IBM Worklight 6.0 - 启用控制台登录身份验证后混合端口号?

Posted

技术标签:

【中文标题】IBM Worklight 6.0 - 启用控制台登录身份验证后混合端口号?【英文标题】:IBM Worklight 6.0 - Mixed port numbers after enabling console login authentication? 【发布时间】:2013-10-01 19:49:55 【问题描述】:

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

转到http://192.168.168.154:9080/finance/console/#catalog 的控制台 URL,它会立即进入登录页面。到目前为止一切顺利。

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

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

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

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

这是我用来启用登录控制台的文件 sn-ps:

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

authenticationConfig.xml

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

 <securityTests>

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

server.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

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

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

好的,我试试。 worlight.properties 有一条让我感到困惑的评论。它是: # 在生产模式下,这些属性是强制性的 - 必须被 jndi 条目覆盖 哪个是强制性的?属性中的那些还是 jndi 中的那些?

以上是关于IBM Worklight 6.0 - 启用控制台登录身份验证后混合端口号?的主要内容,如果未能解决你的问题,请参考以下文章

IBM Worklight 6.0 - 开发服务器/控制台问题

IBM Worklight 6.0 - 无法访问 Worklight 服务器

IBM Worklight 6.0 - 如何访问 Application Center 管理控制台

IBM Worklight 6.0 - 控制 Dojo 层

IBM Worklight 6.0 - “仪表失败”错误

IBM Worklight 6.0 - 如何将日志写入文件并将它们发回?