Lotus notes 通过电子邮件链接进行自动身份验证

Lotus notes 通过电子邮件链接进行自动身份验证,lotus-notes,lotus,lotusscript,lotus-formula,Lotus Notes,Lotus,Lotusscript,Lotus Formula,我已经编写了一个代理,它接受用户名并对用户进行身份验证,如果身份验证成功,它将重定向到数据库的实际URL 为了获取用户的名称,我使用@Formulas。因此,我可以在Notes客户端的任何链接、热点或按钮中使用我的身份验证方法。但是,我面临的问题是通过提醒邮件链接发送此方法 当我通过后端代理创建URL时,这个URL/热点应该有我的带有@formula的代码。简单地说,我想通过电子邮件链接在URL/hotspot中传递@Dblookup。如何完成这项任务 或者,如果有人点击电子邮件中的链接,是否有

我已经编写了一个代理,它接受用户名并对用户进行身份验证,如果身份验证成功,它将重定向到数据库的实际URL

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

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

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

只需使用Notes客户端


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

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

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

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


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

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

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

从:

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

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

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

对于Domino9,您还可以选择使用


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

这些电子邮件将发送给Notes客户端用户吗?@RichardSchwartz:是的。对于web,我们没有问题。但这个问题只与处理Notes客户电子邮件有关。我不明白。身份验证通常由服务器自动完成。您通常不必为此编写代码。你能再详细一点吗,这样我们就能更好地理解这个问题了?@Leyer:我已经更新了我的场景为什么不直接向notes用户发送notes://链接而不是http://链接?这样,他们甚至不必启动浏览器,也不需要进行身份验证,因为他们已经登录到Notes客户端?请查看场景。谢谢。我也考虑过使用profile doc。下面的代码可以更好地解释我自己。在操作按钮/热点上:
shortname:=@DbLookup(“shortname”);authenURL:=”http://server/database/(代理名称)?OpenAgent”;DocLinkToOpen:=“&url=https://server/database/docUNID";  arg2:=“&uname=“+shortname@命令([Execute];“iexplore.exe”;AgentURL+DocLinkToOpen+arg2)
。我可以用javascript来做这件事吗(jst猜测,不知道怎么做)?我想类似于计算场的东西可能会起作用。我想我试着围绕一个档案文件工作