#asp.net #asp.net-mvc #email #reset-password
#asp.net #asp.net-mvc #Адрес электронной почты #сброс пароля
Вопрос:
Я использую ASP.NET MVC и реализовал все функции от регистрации до входа в систему, а также забыл пароль и сбросил пароль.
Здесь, в сброшенном пароле, есть код, который приходит из электронной почты, чтобы проверить, что пришедший код для сброса пароля равен нулю или нет, все в порядке, работает нормально, но я хочу получить электронное письмо для конкретного пользователя, который пытается сбросить пароль, поэтому пользователю не нужно снова писать свое электронное письмо.
Итак, где я должен проверить этот код в базе данных и получить адрес электронной почты этого пользователя, чтобы я мог установить его в модели просмотра и передать, чтобы он отображался!
Сбросить пароль:
[AllowAnonymous]
public ActionResult ResetPassword(string code)
{
return code == null ? View("Error") : View();
}
Здесь я хочу получить электронное письмо пользователя, который пытается сбросить пароль.
Пожалуйста, кто-нибудь, подскажите мне, как я могу это сделать!
Комментарии:
1. Ваш метод помечен как анонимный. У анонимного пользователя может даже не быть электронной почты. Что на самом деле делает этот метод и откуда он вызывается?
2. @StephenMuecke Я объявил его как AllowAnonymous, потому что пользователь, который приходит для сброса пароля, больше не входит в систему, поэтому пользователь не может получить доступ к этой функции, если мы не дадим разрешение как AllowAnonymous. В любом случае, спасибо за повтор, у меня есть решение.
3. Да, точно — поэтому пользователь должен предоставить свой адрес электронной почты или что-то еще, чтобы идентифицировать их
4. @StephenMuecke Я ежедневно вижу ваши сообщения и ответы в SO .. You are rocking Asp.net в SO..
5. @StephenMuecke Я не могу удалить AllowAnonymous, потому что, если я удалю это, это перенаправит пользователя на страницу входа, и это совершенно неправильно, поэтому, если пользователь передаст электронное письмо, эта функция не позволит перейти без входа, если мы не предоставим его как AllowAnonymous, потому что я авторизовал свой контроллер, поэтому для меня обязательно установить его как AllowAnonymous .
Ответ №1:
Упс, я допустил ошибку при получении отсутствующего параметра.
Мне просто нужно получить идентификатор пользователя, и моя проблема решена.
Вот код, который я реализовал:
[AllowAnonymous]
public ActionResult ResetPassword(string userId ,string code)
{
if (code == null)
{
return View("Error");
}
else {
ResetPasswordViewModel model = new ResetPasswordViewModel();
model.Email = UserManager.GetEmail(userId);
return View(model);
}
}
Итак, в моей viewmodel я установил свой адрес электронной почты, чтобы он автоматически отображал сохраненную информацию в поле зрения.
Ответ №2:
Вы должны указать имя текстового поля как «код» в вашем представлении.
Если вы используете обычный HTML, то используйте ниже.
<input type="text" name="code" class="yourclass" />
Затем используйте HTML Helper ниже.
@Html.TextBox("code", new {@class="yourclass" })
Комментарии:
1. Я думаю, вы неправильно поняли мой вопрос, дорогой! Мой вопрос заключается в том, чтобы отобразить электронное письмо с помощью кода, т. Е. Проверить из базы данных и получить электронное письмо и отобразить, а не код.
2. @padhiyar хорошо, у тебя есть свой BL. Ооо, ты получил ответ.. Приветствия