1

Я не ищу решение, которое включает пользователя, генерируемый токен и электронную почту, чтобы сбросить пароль пользователя.Как административно установить новый пароль для пользователя ASP.net Identity, который забыл пароль?

Сценарий - это контакт пользователей с администраторами и запрос на их сброс пароля (внутреннее веб-приложение организации). Затем им сообщают, что такое новый временный пароль, чтобы они могли войти в систему и изменить его.

Я не вижу функции, которая позволяет мне делать выше. Моя попытка:

string passwordToken = await UM.GeneratePasswordResetTokenAsync(user.Id); 

IdentityResult res = await UM.ResetPasswordAsync(user.Id, passwordToken, "newPassword#@!$%"); 

UM является UserManager.

Я получаю сообщение об ошибке «No IUserTokenProvider зарегистрирован». Я думаю, что GeneratePasswordResetToken является причиной ошибки. Если да, то почему?

Как мне правильно делать то, что мне нужно?

ответ

1

Используйте комбинацию RemovePasswordAsync и AddPasswordAsync

UserManager.RemovePasswordAsync(user.Id); 
UserManager.AddPasswordAsync(user.Id, tempPassword); 
+0

Пользователь забыл свой пароль, так что я не могу использовать эту функцию. –

+0

Вы правы. Я обновил свой ответ. – Shoe