【问题标题】:MarkLogic multiple Security database on single MarkLogic Server单个 MarkLogic Server 上的 MarkLogic 多个安全数据库
【发布时间】:2015-08-17 10:49:41
【问题描述】:

在开发项目中,我们希望同一 MarkLogic 服务器上的每个应用程序都有单独的安全数据库。

由于不同应用程序中的角色具有相同的名称,我们无法在同一个安全数据库中创建这些角色。

有没有办法在同一个 MarkLogic Server 上创建和维护多个安全数据库来处理多个应用程序?

我们目前创建新安全数据库的方法如下:

  1. 创建“WSK-Security”数据库并将其附加到默认“Security”数据库 (/manage/v2/databases/Security/子数据库)
  2. “WSK-Security-1”林 (/manage/v2/forests) 的林创建 3. 带有“WSK-Security-1”林的“WSK-Security”数据库附件(/manage/v2/databases/WSK-Security/properties) 4.“WSK-HTTP”设置(/manage/v2/packages)。 设置 default-user=Admin 时出现 MarkLogic 错误

管理:ADMIN-NOSUCHUSER: (err:FOER0000) 没有这样的用户 7071164303237443533

似乎我们的新数据库无法正常工作(安全数据库)。如果我们对此有任何解决方案/建议将非常有帮助。

【问题讨论】:

    标签: marklogic


    【解决方案1】:

    尽管 Admin UI(端口 8001)假定安全性在名为“Security”的数据库中进行管理,但您可以为此目的使用任何数据库。当您使用管理 API 创建内容数据库时,specify the security-database property 指示要使用的数据库。在您告诉内容数据库使用该应用程序特定的安全数据库之前,该数据库必须存在。这样,您可以为“foo”和“bar”应用程序拥有 foo-content、foo-security、bar-content 和 bar-security。这类似于使用特定于应用程序的模块数据库,而不是所有应用程序的默认“模块”数据库。

    请注意,您将无法使用管理 UI 来查看或管理其他安全数据库的内容,但您可以使用 Management API 来实现此目的。

    【讨论】:

      【解决方案2】:

      就个人而言,为不同的事物使用不同的名称是有意义的。如果你不给角色起独特的名字,事情会在某些时候变得混乱。

      但要回答您的问题,是的,您可以拥有多个安全数据库,前提是您为它们指定唯一名称。 Dave 已经提供了一些解决方法,但我必须提到有一些问题。请记住,安全数据库还包含许多来自 MarkLogic 的内部定义,例如权限、放大器,而不是至少内置的用户和角色。

      有一种方法可以在共享数据库中拥有一组通用内容,并将特定于应用程序的内容添加到特定数据库中的内容中。如果您想使用例如foo-security 数据库扩展现有的安全数据库,那么只需将其创建为任何其他数据库。之后使用 Admin UI、admin API 或管理 REST API 将 Security 添加为 子数据库

      HTH!

      【讨论】:

        【解决方案3】:

        个人建议:“不要那样做” 构建多租户或隔离应用程序的其他方法,然后使用不同的安全数据库。虽然它可以发挥作用,但通往幸福的道路是痛苦和艰难的。类似于使用 Linux 系统启动卷。如果它 100% 完美一切都很好,如果有 1 件事发生了故障,则症状很可能是系统完全无法运行——或者更糟。

        此外,还有一些“第三方”(或用户编写的)工具可以对安全数据库做出假设——在你打破常规后你会发现这些——可能在你的所有数据都被搞砸或你的系统无法访问之前, 也许不吧。更糟糕的情况——所有似乎都可以工作——如果您对 ML 内部原理没有非常深入的了解,那么设计测试用例来验证实际上一切都在“工作”是很有挑战性的。

        【讨论】:

          猜你喜欢
          • 2021-07-25
          • 2016-09-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-11-15
          • 2018-08-18
          • 2016-04-19
          • 2019-07-03
          相关资源
          最近更新 更多