在不影响整个应用程序的情况下打开安全应用程序的一部分

时间:2013-06-19 16:33:52

标签: asp.net-mvc asp.net-mvc-4

有一部分用户无法访问我刚开始实施的系统,但我需要一种机制来为他们捕获流程中某个特定部分的数据。

授权用户为个人创建原始记录,其中包含一些基本详细信息,即名字,姓氏等。

然后我创建一个具有唯一guid的“DataRequest”记录,并向外部用户发送一封电子邮件,其路径实际为http://sampleapplication/Person/Complete?guid=xxxx

外部用户添加其他详细信息,如出生日期,眼睛颜色等,提交并保存到数据库。然后,该guid的DataRequest已过期,无法再次访问。

“完成”操作没有任何授权,因为这些外部用户没有用户帐户。

我的偏好是强迫这些用户使用系统,但在这个阶段我不确定它是否实用。

这是一种不好的做法吗? 我是否应该像对电子邮件中包含的一次性密码/密码一样实施一些额外的安全措施?我应该考虑采用其他方法吗?

1 个答案:

答案 0 :(得分:0)

向公众开放网站的一部分并没有错。大量的网站都有安全和无担保的部分。但是,也没有任何迹象表明您必须公开您的安全网站。您可以创建另一个仅具有访问权限的站点来更改这些记录并使该站点单独公开。

就保护用户的信息而言,通过电子邮件发送密码是某些开发人员在心智能力有限或严重缺乏睡眠的地方发明的。如果该链接仅通过电子邮件提供(不能被搜索引擎发现且不易猜测),那么拥有该链接的任何人也将拥有密码,使得密码访问该链接成为冗余。

但是,您应该记录电子邮件用于完成记录的时间,然后禁止进一步使用。