希望获得 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。现在,在属性中包含用户名/密码就足够了。