2

尝试使用 WebSecurity,如果我的用户丢失、需要重新发送或以其他方式更改他们的电子邮件,他们似乎无法通过 WebSecurity 类重置您的确认令牌。

如何在 Asp.NET MVC 中重置 WebSecurity 的确认令牌?

4

1 回答 1

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();
        }
    }
于 2012-12-14T04:13:55.853 回答