Я реализую свой собственный пароль для сброса в ASP.NET. В случае сброса пароля сначала создаю случайную строку и отправлю ее пользователю по электронной почте. Для ссылки в электронной почте, например, http://xyz.com/account/forgot?random=xxxx&userid=xx.I, было создано действие типа httpget, которое забыло, что представление возвращает представление с входными тегами для паролей, если randomid и userid проверяются. Но в httppost тип забыл, у меня путают параметры. Я забылМодель, имеющий 2 свойства пароль и confirmpassword.If я просто пройти mismodel для httppost действие, то я не могу запросить пользователя из базы данных. Я думаю, что я должен передать randomId в качестве параметра. Но я получаю, как захватить randomID с URL-адресом httpget действие (если я это сделаю, это безопасно?)? Прошу вас, я застрял .. Заранее спасибоСброс пароля в ASP.NET MVC
ответ
Вы используете как Html.BeginForm («action», «controller»), Если это так, вы потеряете параметры запроса. Поскольку методы HttpGet и HttpPost для ForGotPassword (..) имеют одно и то же имя действия, Вы можете просто использовать Html.BeginForm(). Итак, форма отправит данные на URL-адрес страницы, и вы получите запрос с ним.
в методе HTTP POST вы можете определить, как,
[HttpPost]
public ActionResult ForGot(ForgotModel model, string random,strung userid)
{
:
:
}
Если вы не хотите следовать выше подход, то в HttpGet метод записи в ViewBag/ViewData и поместить их как скрытые поле зрения. Затем вы можете получить их в качестве ввода метода.
[HttpGet] public ActionResult ForGot(string random,strung userid) { ViewBag.Random =random; Viewbag.Userid =userid; : : } [HttpPost] public ActionResult ForGot(ForgotModel model, string random,strung userid) { : : }
и, по мнению
@Html.BeginForm("ForGot","Account"){
:
@Html.Hidden(ViewBag.Random)
@Html.Hidden(ViewBag.Userid)
:
}
+1, Если вы восприимчивы к сохранению идентификатора в скрытом поле, которого вы не должны, так как он совпадает с тем, который вы передавали в строке запроса, вы также можете использовать переменную Session – Devesh
@Manas, я не хочу использовать скрытое поле из-за подозрительных атак. Первый подход может быть лучше. Спасибо –
Кажется довольно тривиальным, чтобы подделать данные для метода post и сбросить пароль произвольного пользователя? – Casey
- 1. Сброс пароля в MVC
- 2. ASP.NET MVC и Identity - Сброс пароля не работает
- 3. ASP.NET Identity 2.1 - Сброс пароля Недопустимые токены
- 4. Сброс пароля
- 5. Сброс пароля ASP.NET - проблемы с безопасностью?
- 6. Сброс пароля в nodejs
- 7. Сброс пароля в Node.js
- 8. Сброс пароля в PBKDF2
- 9. Сброс пароля в Yii2
- 10. Пароли/сброс пароля сброса пароля
- 11. Членство: Сброс пароля пользователя
- 12. Как реализовать сброс пароля с помощью ASP.NET Identity для ASP.NET MVC 5.0?
- 13. Firebase Сброс пароля Swift
- 14. Сброс пароля email html
- 15. Сброс пароля Известь обследование
- 16. RESTful - сброс пароля
- 17. Сброс пароля CMDBuild
- 18. Сброс пароля Backend Functionality
- 19. Сброс пароля subform
- 20. Сброс пароля Active Directory
- 21. Сброс пароля клиента Opencart
- 22. Сброс электронной почты/пароля
- 23. Сброс пароля PHP
- 24. Сброс пароля Подтверждение работы
- 25. Сброс конфигурации отображения пароля
- 26. Сброс пароля не работает
- 27. Невозможно войти с помощью пароля, сгенерированного Asp.Net 4 Членство в провайдере Сброс пароля
- 28. Анализировать Сброс пароля
- 29. Сброс пароля Excel VBA
- 30. Сброс пароля mysql
Вы используете SimpleMembership? –
Нет, я использую пользовательское членство –
Пожалуйста, покажите код, на который вы застряли (действие HttpPost и забытыймодель). – jadarnel27