0

我开发了一个应用程序,该应用程序已获得批准流程。应用程序批准/拒绝工作正常,我的任务是开发一个通过电子邮件批准的解决方案,而不是用户登录到应用程序,无论如何它都使用域凭据。该应用程序在本地托管,仅在本地允许,并且不会发布到任何公共 IP。邮件批准的这一要求适用于管理层批准,他们大部分时间都在移动,并且不会同意为上述应用程序进行 VPN 访问。

到目前为止,我开发了一个解决方案,它使用 2 个 URL(一个用于批准,另一个用于拒绝)向批准机构发送电子邮件。当邮件的收件人点击相关链接时,数据库中的操作会更新。直到这里一切都经过测试并且工作正常。

现在,如果授权批准人将邮件转发到不同的电子邮件 ID,他们的次要收件人也将能够单击相关链接并更新数据库,这不是预期的功能,因为次要收件人不是授权批准人.

任何关于如何控制它的建议都是需要的。

编辑 1

在我通过邮件发送的 2 个 URL 中,我添加了一个查询字符串,它是与批准机构 ID 关联的唯一标识符。

但是,如果将相同的邮件转发给次要收件人,我不确定如何验证点击来源的电子邮件 ID。

编辑 2

我已经尝试了这些建议(在下面的评论中给出)。我已经在邮件的主题中生成了带有 Request ID的邮件,并要求用户回复该邮件,正文中只有一个单词Approve / Reject。我已确保应用程序以不区分大小写的方式处理它。然而,一个单词的错别字太多,我无法想象我必须处理的组合数量。

我也尝试过,在邮件主题中包含请求 ID ,并要求用户通过附加:A表示批准或:R表示拒绝(不区分大小写)来回复该邮件。但这又导致了许多错别字。

4

1 回答 1

1

你基本上有两个选择

  1. 让您的用户像您说的那样使用接受或拒绝来回复电子邮件。在这种情况下,您必须验证 FROM 字段中的电子邮件帐户是否有权这样做。
  2. 让您的用户单击链接。在这种情况下,您必须让应用程序根据用户的登录凭据验证用户。

没有其他方法可以解决这个问题。您必须验证电子邮件发件人,或者该人必须登录到应用程序。在这种情况下没有其他可用的机制。

实现这两个选项可能有不同的方法,但这些是您唯一的选择。

于 2020-03-20T10:13:02.360 回答