Lotus Notes Scheduled代理无法在不同服务器中打开数据库

alt*_*o86 2 lotus-notes lotus-domino

我在服务器1中有一个数据库,它引用服务器2中的多个数据库以进行记录验证.当计划的代理程序运行时,它会遇到"未设置对象变量"错误.但是,当我尝试手动运行代理时(右键单击代理名称,单击"运行"),它可以顺利运行而不会出现错误.

我模拟了2个虚拟服务器中的数据库设置,并能够重现错误.逐行调试显示尝试在其他服务器中打开数据库时发生错误.由于手动运行顺利,我不认为代码或变量(服务器和数据库路径)是错误的.

我检查了所有数据库的ACL以包括签名者和服务器,还尝试安排在所有3种安全模式下运行代理(受限制,不受限制和受限制的管理员权限).我查看了服务器文档和安全性,并允许访问和从两个服务器访问.还有其他我可能错过的东西?

Ric*_*rtz 7

让我们调用代理运行"server1"的服务器,以及存储数据库"server2"的服务器.问题是代理程序是在签名它的用户的身份下运行的,server1已经验证了该签名,但server2没有.Server2需要知道签名,以便它可以在数据库上强制执行A​​CL,因此server2必须从server1获取签名信息.但是server1理论上可以骗到server2,所以默认情况下server2不信任来自server1的签名信息.

幸运的是,有一种方法可以告诉server2信任在server1上运行的代理上的签名.在server2上Domino目录中的server2的Server Document中,转到Security选项卡,找到标记为"Trusted Servers"的字段.在此字段中输入server1的完全限定名称,然后重新启动server2.(我不确定是否真的需要重启.)

这应该允许server1上的代理读取server2上的数据库.

  • 西蒙,尊重,如果那是真的,我会感到惊讶.我确信在R6之前,代理永远不能访问另一台服务器上的数据库,即使在同一个域中也是如此.创建了受信任的服务器权限以允许它.我与Charlie Kaufman(当时的Domino首席安全架构师)进行了长时间的讨论,讨论了信任所隐含的内容.如果它在域内是自动的,那么任何能够在域中的1台服务器上创建代理的用户都能够访问其他服务器上的访问数据库,即使用户未在这些服务器的"访问服务器"字段中列出. (3认同)