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 に答える