1

我正在尝试SessionAsSigner.getDatabase在 SSJS 中使用来访问不同服务器上的数据库。但它总是返回null。例如我使用:

var db = sessionAsSigner.getDatabase("canonical name of server","log.nsf", false);
4

4 回答 4

1

当您使用 sessionAsSigner 时,您连接的服务器能够在您登录时验证您的身份。

当您在服务器 (A) 上运行代码并且需要与另一台服务器 (B) 通信时,第一台服务器已使用 A 凭据进行身份验证。它无法以您的身份进行身份验证。

为了让它正确运行,您需要将服务器 A 设置为服务器 B 上的受信任服务器。

您可以在服务器文档中设置受信任的服务器。

您可以使用该方法以编程方式检查是否设置了此项NotesSession.isTrustedSession()

于 2013-11-15T07:49:27.197 回答
1

服务器安全设置可能有错误。您可以阅读此页面:http ://www-01.ibm.com/support/docview.wss?uid=swg21086111

于 2013-11-15T01:54:33.367 回答
0

The problem is that you code is signed with different signers. Try to resign the database with your or the servers id.

That will probably fix your problem.

于 2013-11-15T07:42:03.473 回答
0

您正在使用的服务器需要具有访问权限并具有与您要访问的服务器的连接文档。所以首先要做的是:检查您的服务器是否列在服务器文档的“谁可以访问此服务器”字段中。然后检查受信任的服务器部分。然后检查您的日志的 ACL(您的执行服务器和 XPage 签名者需要有权访问 log.nsf)

于 2013-11-18T10:12:33.600 回答