2012-06-26 27 views
2

作为我的应用程序的一部分,用户可以通过电子邮件批准某些“请求”。请求有他们自己的模型,因此每个都有一个唯一的ID。如何在没有登录的情况下限制用户来自电子邮件链接的操作?

用户在链接中收到具有命名路由的电子邮件:'approve /:id'其中:id是请求的ID。批准方法然后处理批准逻辑等。

如何防止用户批准向其他用户发出的请求,而无需事先登录用户?由于ID可以自由显示在URL中,我猜GUID是需要的吗?

回答

2

如果你真的想这样做,那么是的,你需要某种GUID。也许是user_id或电子邮件地址(?)的加密散列。所以你最终使用/approve/:id/:GUID

我很惊讶你不希望用户登录,但请记住,如果他们登录,你可以将他们重定向到自动批准。另外,如果cookie仍然有效,用户可能已经登录。

+1

事实上,也许在4-5年前,当用户的登录cookie不总是永久的,这将是必要的。我可能会去登录路线。我在考虑一种情况,即用户可能会收到很多请求,并且无需中间身份验证步骤即可快速批准/拒绝。 –

相关问题