我开发了一个应用程序,它有一个审批流程。应用程序审批/拒绝很好,我的任务是开发一个通过电子邮件审批的解决方案,而不是用户登录到应用程序,而应用程序无论如何使用域凭据。应用程序是本地托管的,仅允许在本地使用,并且不被发布到任何公共IP上。邮件批准的这一要求是管理部门批准的,他们大部分时间都在移动,不会同意使用VPN访问所述应用程序。
到目前为止,我开发了一个解决方案,将一个eMail发送给具有两个URL的审批当局(一个用于批准,另一个用于拒绝)。当邮件收件人单击相关链接时,该操作将在数据库中更新。在此之前,一切都经过了测试,运转良好。
现在,如果授权审批者将邮件转发到不同的电子邮件ID,则辅助收件人还可以单击相关链接并更新数据库,这不是预期的功能,因为辅助收件人不是授权审批者。
任何关于如何控制这一点的建议都是需要的。
编辑1
在我在邮件中发送的两个URL中,我添加了一个查询字符串,它是与审批权限ID相关联的唯一标识符。
但是,如果将同一封邮件转发给第二个收件人,我不确定如何验证该单击来源的eMail ID。
编辑2
我已经尝试过这些建议(在下面的评论中)。我在邮件主题中生成了带有请求ID的邮件,并要求用户回复该邮件时只需在正文中使用一个单词--、Approve/ Reject。我已确保申请会以不敏感的方式处理。然而,有如此之多的排字为一个词,我无法想象有多少组合,我必须应付。
我还尝试将请求ID作为邮件主题,并要求用户通过添加:A表示批准或:R表示拒绝(大小写不敏感)来回复该邮件。但这再次导致了大量的排印。
发布于 2020-03-20 10:13:02
你基本上有两个选择
在这件事上没有别的办法了。您要么必须验证电子邮件发件人,要么该人必须登录到应用程序。在此场景中没有其他可用的机制。
可能有不同的方法来实现这两个选项,但这是您唯一的选择。
https://stackoverflow.com/questions/60770412
复制相似问题