我正在使用带有owin安全性的asp.net mvc 5,我必须创建一个链接,该链接将发送给用户的电子邮件。当用户点击链接时,他们将直接登录系统。
我仍然无法弄清楚如何使用用户名和密码生成该链接。等等。
请有人表现出一些亮点。
答案 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(...)