0

我编写了一个代理,它接受用户名并验证用户,如果验证成功,那么它会重定向到数据库的实际 URL。

为了取用户名,我使用@Formulas。因此,我可以在 Notes 客户端的任何链接、热点或按钮中使用我的身份验证方法。但是,我面临通过提醒电子邮件链接发送此方法的问题。

当我通过后端代理创建 URL 时,这个 URL/热点应该有我的带有@formula 的代码。简而言之,我想通过我的电子邮件链接在 URL/热点中传递@Dblookup。如何完成这项任务?

或者,如果有人单击电子邮件中的链接,是否有其他方法可以获取用户名?

只能使用 Notes 客户端。


编辑#1:添加场景以获得更好的解释:

我们的用户不乐意为 Web 应用程序重新进行身份验证。因此,我们一直在尝试如果他们想打开一个 webdoclink,他们是通过他们在 notes 客户端中的电子邮件获得的,因此不应要求他们再次进行身份验证(因为他们已经登录到 notes 客户端)。

我们可以为静态应用程序链接实现这一点,其中应用程序名称未更改。现在,我们面临的挑战是如何处理提醒电子邮件,这些电子邮件具有指向特定 Web 文档的链接(此处的链接不是静态的。它们因唯一的文档 ID 而异)。为此,我们需要从电子邮件中单击该链接的人的简称。

4

3 回答 3

0

您可能需要发送操作热点而不是 URL 热点;但是如果不看你的代码到底在做什么,就很难猜到。另外,我相信创建一个动作热点可能需要从以前保存的富文本字段中复制它,可能是在配置文件中,并将其附加到您发送的消息的富文本正文字段中。(无论如何,这是我过去用来创建动作热点的一种技术。我不确定是否有更好的选择。)

由于这是针对 Notes 客户端收件人的,我可能会探索的另一种技术是使用 store-form-in-document 消息而不是普通的电子邮件消息。这样,您只需要在您在消息中发送的表单上有一个包含@DbLookup 的按钮。

于 2013-08-23T13:30:48.070 回答
0

我同意莱尔的观点。ACL(访问控制列表)是用于决定功能的主要工具。例如,用户可以访问数据库。然后您可以定义谁可以创建数据库、创建电子邮件。最好使用 ACL,这样您也可以使用角色和其他工具。Basic LotusScript 可以访问打开事件的 ACL 或在按钮中进行测试。

于 2013-08-25T17:48:06.113 回答
0

关于您所描述的场景,如果问题是用户必须为服务器上的每个 Web 应用程序重新进行身份验证,那么您最好在服务器上实现基于 SSO/Session 的身份验证,然后编写此解决方法。使用基于会话的身份验证,用户只需进行一次身份验证。

管理员帮助

基于会话的名称和密码身份验证发送客户端的名称和未加密的密码,并与每个请求一起发送到服务器。基于会话的身份验证的不同之处在于,用户名和密码信息仅在用户第一次登录服务器时通过网络发送,而不是每次发布请求时。登录后,用户名和登录信息存储在用户浏览器中的 cookie 中,浏览器随每个请求将 cookie 发送到服务器。在接受请求之前,服务器会验证 cookie 中的信息并使用 cookie 内容来识别登录用户。会话仅在执行登录的浏览器中有效。如果用户关闭发生会话登录的浏览器,则用户'

与基本的名称和密码身份验证相比,使用基于会话的名称和密码身份验证可以更好地控制用户交互。例如,您可以自定义用户输入其姓名和密码信息的表单。它还允许用户在不关闭浏览器的情况下退出会话。

如果您使用基于 Windows 的服务器,您甚至可以实现SPNEGO,使用 der Windows 帐户自动为用户签名,从而完全消除登录提示。

使用 Domino 9,您还可以选择使用安全断言标记语言 (SAML) 来配置联合身份验证

在您的情况下,我将从基于会话的名称和密码身份验证开始,以解决多次登录问题。

于 2013-08-26T07:57:25.967 回答