尝试使用 WebSecurity,如果我的用户丢失、需要重新发送或以其他方式更改他们的电子邮件,他们似乎无法通过 WebSecurity 类重置您的确认令牌。
如何在 Asp.NET MVC 中重置 WebSecurity 的确认令牌?
尝试使用 WebSecurity,如果我的用户丢失、需要重新发送或以其他方式更改他们的电子邮件,他们似乎无法通过 WebSecurity 类重置您的确认令牌。
如何在 Asp.NET MVC 中重置 WebSecurity 的确认令牌?
WebSecurity 类型似乎不支持此功能。我被迫直接查询数据库。由于我使用的是 EF,因此我的代码如下所示:
public string GetConfirmationToken(string email)
{
using (var db = new DbContext())
{
var tsqlQuery = string.Format("SELECT [ConfirmationToken] FROM [webpages_Membership] WHERE [UserId] IN (SELECT [UserId] FROM [UserProfile] WHERE [Email] LIKE '{0}')", email);
return db.Database.SqlQuery<string>(tsqlQuery).First();
}
}