尝试使用WebSecurity,如果我的用户丢失,需要重新发送或以其他方式更改其电子邮件,他们似乎无法通过WebSecurity类重置您的确认令牌。
如何在Asp.NET MVC中重置WebSecurity的确认令牌?
答案 0 :(得分:6)
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();
}
}