我正在开发一个客户的网站,他们正在向他们的客户发送新闻通讯(通过网站管理界面).新闻通讯是每个订阅的收件人/客户的个人通讯.每个收件人/客户也是具有用户名/密码的用户,使他们能够登录网站并管理他们的简报订阅并参与网站社区.
这一切都像一个魅力.现在,我的客户希望在时事通讯电子邮件中有一个"管理我的订阅"链接,当按下时会自动在网站上签名收件人/客户,而无需记住用户名和密码.
这可以通过这样的链接轻松解决:
http://mysite.com/manage.aspx?user=peter&password=hounddog
当然,信息不应该是明文,而是以某种方式加密.
然而,这会产生问题,因为如果通过提供有效的用户名和密码,用户可以在网站上进行身份验证的唯一方式.在安全性的名称中,密码作为散列值存储在数据库中,这使我无法在链接中插入密码.
在不影响安全性的情况下实现这一目标的最佳方法是什么?
如果您希望人们能够在不输入密码的情况下登录,您将不得不在某种程度上损害您的安全性.请注意,即使您有权访问密码(如您的示例所示),您也必须将其嵌入到邮件按摩中,该按钮将以纯文本形式传输.
您可以创建与每个用户和消息关联的Guid,并将其附加到URL,并允许它自动登录.
您也许可以隔离权限,以便通过简报guid链接登录只允许用户管理订阅,但仍需要真正的密码登录才能参与论坛.在这种情况下,如果有人从邮件消息中访问Guid,那么它的相当大的破坏性可能会造成破坏.