直接从链接登录

时间:2015-02-05 17:04:21

标签: asp.net asp.net-mvc-5 owin

我正在使用带有owin安全性的asp.net mvc 5,我必须创建一个链接,该链接将发送给用户的电子邮件。当用户点击链接时,他们将直接登录系统。

我仍然无法弄清楚如何使用用户名和密码生成该链接。等等。

请有人表现出一些亮点。

1 个答案:

答案 0 :(得分:0)

您不必使用用户名和密码生成链接 - 绝对不应该(@mason为+1)。 如果您需要从链接登录用户,您可以在数据库中为用户生成并存储哈希/ guid / etc,并通过电子邮件发送带有userId和哈希的链接。 - >某事:mysite.org/login?userid=123&hash=b89eaac7e61417341b710b727768294d0e6a277b

您可以创建一个操作来检查userId和hash是否与db中的数据匹配并登录用户。 ......好像

var user = HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>()).FindByIdAsync(userId)
if(user.Hash == hashFromTheLink)
HttpContext.GetOwinContext().Authentication.SignIn(...)