2
EntityFrameworkのSeedメソッドで管理者のパスワードをリセットします。ただし、OWINコンテキストがないため、ApplicationUserManagerを初期化してトークンを生成することはできません。EntityFramework Seed()メソッドでユーザーのパスワードをリセットするにはどうすればよいですか?
これは私のコードです:
protected override void Seed(ModelUNRegister.Models.ApplicationDbContext context)
var userManager = new ApplicationUserManager(new UserStore<ApplicationUser>(context));
// How should I Initalize userManager.UserTokenProvider?
if (userManager.FindByName(AppSettings.InitalAdminAccount) == null)
{
// Create user
}
else
{
var adminUser = userManager.FindByName(AppSettings.InitalAdminAccount);
// The following code throws error: IUserTokenProvider is not registered.
string resetToken = userManager.GeneratePasswordResetToken(adminUser.Id);
var result = userManager.ResetPassword(adminUser.Id, resetToken, AppSettings.InitalAdminPassword);
if (!result.Succeeded) throw new InvalidOperationException(string.Concat(result.Errors));
}
私はパスワードを変更するトークンを生成する他の方法があるかどうかを知りたいです。