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();
}
}