Lotus notes 如何通过C++;应用程序编程接口?

Lotus notes 如何通过C++;应用程序编程接口?,lotus-notes,Lotus Notes,我运行下面的代码并获得输入密码的对话框 LNNotesSession session; LNDatabase db; LNSetThrowAllErrors(TRUE); LNFormArray forms; LNIDFile idfile; LNCertifier cert; LNDatetime expired; try { session.Init(); session.GetDatabas

我运行下面的代码并获得输入密码的对话框

    LNNotesSession session;
    LNDatabase db;
    LNSetThrowAllErrors(TRUE);
    LNFormArray forms;
    LNIDFile idfile;
    LNCertifier cert;
    LNDatetime expired;

    try {
        session.Init();

        session.GetDatabase("names.nsf", &db, "ipanema");
        db.Open();
        db.GetForms(&forms);
        for (int i = 0; i < forms.GetCount(); i++) {
            LNForm form = forms[i];
            form.Open();
            LNString name = form.GetName();
            form.Close();
        }
        db.Close();
        session.Term();

    } catch(LNSTATUS error) {
        char errorBuf[LN_ERROR_MESSAGE_LENGTH];
        LNGetErrorMessage(error, errorBuf);
        MessageBox(NULL, errorBuf, "Lotus Notes Errors", MB_OK);
    }
LNNotesSession会话;
LNDB数据库;
Lnsethrowallerrors(真);
非正规形式;
LNIDFile-idfile;
认证机构证书;
LNDatetime过期;
试一试{
session.Init();
session.GetDatabase(“names.nsf”和db,“ipanema”);
db.Open();
db.GetForms(&forms);
对于(int i=0;i


如何通过代码而不是手动输入密码?

nextpwd选项可能会有所帮助。描述

我在过去还使用了两个其他选项:一个是创建一个用于运行代码的ID,然后创建它而不使用密码。然后,我使用其他安全手段来保护该ID文件


另一个选项是启用客户端单点登录,并在登录的windows用户和Notes用户之间同步密码。在这种情况下应该可以这样做,但我只是用它绕过Notes客户端本身的提示。

答案取决于具体情况

  • 如果代码在用户工作站上运行,并且您不希望在用户登录Notes时显示密码提示,但希望在用户未登录时显示密码提示,则Notes客户端中有一个内置选项用于此操作。在Notes8.x中,它位于用户安全对话框中,选项标签为“不提示从其他基于Notes的程序输入密码”。在这个选项后面有一个小标签,上面写着“降低安全性”,但是所有绕过密码提示的可能方法都可以做到这一点

  • 如果代码在用户工作站上运行,并且代码仅在用户实际登录windows时运行,那么Ken的第二个建议可能是合适的。问题是,Notes客户端的单点登录功能通常不会根据具体情况激活,您的组织的安全、Domino和Windows管理员也必须参与其中

  • 如果代码运行在没有用户经常访问的锁定机器上,那么Ken的第一个建议是合适的,只要您组织的安全人员同意使用未加密的ID文件

  • 在几乎所有其他情况下,蟑螂合唱团建议使用Notes C API的扩展管理器钩子是合适的,并且包含在C++ API工具包中的ExtPWD.C代码是一个好的开始。但不要只将密码存储在名为password.txt的文件中!无论存储在哪里,都需要加密密码,否则这就像使用未加密的ID文件一样不安全。(老实说,即使将其加密存储也不是很好的安全做法,因为可能有人可以通过分析您的代码来恢复密钥,但这是为了方便起见我们最终做出的妥协之一。)