gpt4 book ai didi

java - 代理和可信服务器访问

转载 作者:行者123 更新时间:2023-12-02 04:28:18 25 4
gpt4 key购买 nike

我的问题是关于 Domino 代理、可信服务器和 DIIOP。在描述问题之前,让我先介绍一下背景 -

我正在创建一个与 Domino 集成的应用程序,能够从某些用户邮箱中删除某些电子邮件。我最初的设计和实现是将我的所有应用程序编写在中间件服务器(与 Domino 服务器不同)上并通过 DIIOP 和Java API 远程设置与 Domino 服务器的 session 并远程删除相应的电子邮件。在当前的部署环境中,客户拥有多个 Domino 邮件服务器,为了使我当前的设计/解决方案发挥作用,客户必须在所有 Domino 邮件服务器上打开/启用 DIIOP,以便该解决方案能够删除相应的电子邮件来自适当的 Domino 邮件服务器。在所有邮件服务器上打开/启用 DIIOP 并不是客户所愿意的,因此我需要重新设计我的解决方案。

为了满足此要求 - 根据我的研究,我认为我可以通过将我的解决方案转换为“代理”模型来绕过此限制(不在所有 Domino 邮件服务器上运行 DIIOP)。我的代理将在其中一台 Domino 服务器上运行,从那里它可以访问任何服务器上的数据库/邮件文档并删除它们。我目前的想法是,我将通过中间件服务器中的 URL 调用代理,该服务器将作为我的代理的触发器,然后代理将继续访问并删除相应的邮件文档。请参阅下面的屏幕截图以获取有关“受信任的服务器”元素的引用,该元素似乎旨在允许代理访问另一台 Domino 邮件服务器上的数据库。

我的问题如下 -

  1. 如果我继续使用此代理设计模型,那么当 DominoMailServer1 上运行的代理尝试打开/访问 DominoMailServer2 上的数据库时,该连接是否不通过 DIIOP?使用这种架构,不需要在 DominoMailServer2 上启用/打开 DIIOP?这种通信是通过其他 RPC 机制进行的,还是 DominoMailServer1 上执行的代理(在后台)用来访问 DominoMailServer2 上的数据库的某种底层操作系统级文件共享机制?

  2. 根据我的初始设计(我的中间件服务器通过 DIIOP 与所有单独服务器进行通信的解决方案)- 有没有办法增强/修改该初始设计,以便无需在所有服务器上打开 DIIOP环境中的 Domino 邮件服务器仍然可以完成访问/删除电子邮件吗?

Trusted Server Support For Domino Agent

最佳答案

当 DominoMailServer1 上运行的代理连接到 DominoMailServer2 时,它使用 NRPC - Lotus 在 20 世纪 80 年代末发明的专有协议(protocol),允许 Lotus Notes 和 Domino 以及位于它们之下的 Notes C API(以及实现与 Notes 数据一起使用的所有其他 API),以跨不同平台和网络类型进行通信。 TCP/IP 网络上的 NRPC(这是当今真正重要的网络)在端口 1352 上运行。

关于问题 2,您不必使用 DIIOP。您的 Java 代码可以使用 Notes.jar 而不是 NCSO.jar。不过,为了使用 Notes.jar,您必须在运行代码的计算机上安装 Notes 或 Domino 代码。如果是 Windows 计算机,您可以安装 Notes 客户端。如果不是 Windows,您可以安装适用于任何平台的 Domino 服务器代码(假设它是 IBM 支持的平台之一)。需要安装代码并进行设置,但不必运行它才能使 Java 代码正常工作。所有 Java 代码实际上使用的是底层 DLL 或库,以及用于身份验证目的的 id 文件,这将允许 Notes.jar 使用 NRPC。您需要与您的 Notes/Domino 管理人员以及很可能与您的 IBM 代表核实这可能产生的任何许可影响。恕我直言,由于您的代码充当客户端,因此即使它使用服务器安装附带的库,它也应该被视为客户端 - 但我无法告诉您 IBM 是否同意这一点。

顺便说一句,即使您没有询问...受信任的服务器设置会按照您的猜测进行操作。它允许一台 Domino 服务器上的代理访问另一台 Domino 服务器上的数据库和文档。在 Domino 6 之前,这是不允许的,因为当代理通过 NRPC 联系其他服务器时,其他服务器无法知道应使用谁的权限来确定授予的访问级别。目标服务器只知道发出请求的服务器的身份。即使代理服务器告诉目标服务器谁拥有该代理,目标服务器也不会信任该信息,因为这可能是绕过 Notes 和 Domino 通常所需的强身份验证的捷径。实现可信服务器设置是为了识别 Donino 在传递与代理关联的身份信息时将信任的服务器。

关于java - 代理和可信服务器访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31863946/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com