如何使用 MobileFirst Server 和 AdminCenter 正确配置 WAS Liberty server.xml basicRegistry

Posted

技术标签:

【中文标题】如何使用 MobileFirst Server 和 AdminCenter 正确配置 WAS Liberty server.xml basicRegistry【英文标题】:How to properly configure WAS Liberty server.xml basicRegistry with MobileFirst Server and AdminCenter 【发布时间】:2016-04-28 21:04:54 【问题描述】:

我正在尝试将最新版本的 MobileFirst Server 7.1 安装到 WAS Liberty 8.5.5.9 上,并且在为已安装的 WAR 启用登录时遇到困难。这是一个全新的安装。 adminCenter-1.0 是在安装 MobileFirst Server 之前安装的。

This page 描述了根本问题,但说明中似乎缺少某些内容。所写的说明对我来说没有意义,因为它在一句话中说“移动”安装过程添加的内容,但在同一段的另一句话中说从 server.xml 中“删除”它。

根据我对说明的解释,我现在有两个具有不同 id 的 basicRegistry 元素,如下所示:

<basicRegistry id="basic" realm="BasicRealm">
    <user name="admin" password="adminpwd" />
</basicRegistry>

<!-- Declare the user registry for the Application Center. -->
<basicRegistry id="applicationcenter-registry" realm="ApplicationCenter">
    <!-- The users defined here are members of group "appcentergroup", thus have role "appcenteradmin", and can therefore perform administrative tasks through the Application Center console. -->
    <user name="appcenteradmin" password="admin"/>
    <user name="demo" password="demo"/>
    <group name="appcentergroup">
        <member name="appcenteradmin"/>
        <member name="demo"/>
    </group>
</basicRegistry>

但我没有看到如何将新的 applicationcenter-registry 绑定到 MobileFirst Application Center。果然,此配置不允许我登录 WAS adminCenter 或 MobileFirst Application Center。它还会生成您期望的消息:

有多种可用的 UserRegistry 实现服务;系统无法确定使用哪个。

允许我登录这两个应用程序的正确 server.xml 配置是什么?

谢谢, 约翰

【问题讨论】:

【参考方案1】:

在 server.xml 中,您只能有一个 basicRegistry。该文档基本上告诉您复制&lt;basicRegistry id="applicationcenter-registry" realm="ApplicationCenter"&gt;中的内容 给你的&lt;basicRegistry id="basic" realm="BasicRealm"&gt;

然后删除&lt;basicRegistry id="applicationcenter-registry" realm="ApplicationCenter"&gt; 所以你只有一个 basicRegistry,你自己的 &lt;basicRegistry id="basic" realm="BasicRealm"&gt;,在 server.xml 中。

检查您的服务器日志以查看是否有任何错误。如果存在与数据库相关的错误,请确保您的数据库是可访问的,并且已以 root/admin 权限启动。

【讨论】:

对于因错误而来到这里的任何人,您实际上不能在 server.xml 中有两个 &lt;basicRegistry&gt;tags,但如果您使用的是 IBM MFP docker 容器映像,则 xml 配置可能误导你。您在 server.xml 中看不到 &lt;basicRegistry&gt;,但它位于 /usr/config 目录下的 registry.xml 文件覆盖中。【参考方案2】:

我相信说明是说你应该这样做:

<basicRegistry id="basic" realm="BasicRealm">
    <user name="admin" password="adminpwd" />

    <!-- Declare the user registry for the Application Center. -->
    <!-- The users defined here are members of group "appcentergroup", thus have role "appcenteradmin", and can therefore perform administrative tasks through the Application Center console. -->
    <user name="appcenteradmin" password="admin"/>
    <user name="demo" password="demo"/>
    <group name="appcentergroup">
        <member name="appcenteradmin"/>
        <member name="demo"/>
    </group>
</basicRegistry>

即,您应该有一个 &lt;basicRegistry&gt;,它应该包含您的原始用户/组(如果有)和 Application Center 的用户/组。

【讨论】:

感谢 Brett,但这与 Mobilefirst Server 安装过程在该块中放置的内容相同(管理员用户在该块中的最后一个除外)。不幸的是,这种方法对我不起作用,这让我看到了上面文档中的划线页面。

以上是关于如何使用 MobileFirst Server 和 AdminCenter 正确配置 WAS Liberty server.xml basicRegistry的主要内容,如果未能解决你的问题,请参考以下文章

为啥 MobileFirst Server 配置工具不允许我使用 libertyAdminUser 和 libertyAdminPassword 进行部署?

多个 Mobilefirst-Server 工件并发部署

是否可以启用使用 MobileFirst SDK7.1 开发的推送通知可以运行 MobileFirst Server V8.0?

将 java.security.auth.login.config 传递给 Mobilefirst Patform Server

尝试将 .wlapp 文件部署到 Tomcat 时,MobileFirst 7.0 Server 卡住了“正在部署”

MFP.Server.invokeProcedure 在 Mobilefirst 8 中不起作用