В настоящее время я запускаю веб-сайт MVC2, используя поставщика членства по умолчанию. Все отлично работает, но теперь я нахожу потребности в функциональности забытого пароля.
После некоторого поиска в Google единственные хорошие реализации, которые я могу найти, основаны на использовании машинного ключа для безопасности или функциональности вопросов и ответов.
Проблемы с этими реализациями в том, что у меня уже есть довольно большая база пользователей. Я не могу сейчас поменять свои пароли на машинный ключ, так как я уже использую хэш-систему.
passwordFormat="Hashed"
Я также не хочу заставлять существующих пользователей добавлять вопрос и ответ по факту. Вопрос и ответ также менее идеален, так как если они забывают эту информацию, то им не повезло.
Моя идеальная реализация: пользователь может щелкнуть забытый пароль, ввести свое имя пользователя или адрес электронной почты (в идеале - электронная почта). Затем они получат электронное письмо со своим текущим паролем (я полагаю, что это невозможно при использовании метода хеширования), новым рандомизированным паролем, который им говорят изменить, или ссылкой с токеном, который позволяет им сбросить пароль после нажатия кнопки. это.
Есть ли хорошие руководства для того, чтобы сделать это быстро? Все, что я могу найти, касается либо использования метода машинного ключа, либо вопроса и ответа. Я очень удивлен, что не смог ничего найти, так как это очень распространенная веб-функциональность. Я был удивлен, что это даже не часть поставщика членства по умолчанию, который поставляется с MVC.
Я понимаю, что токен является наиболее безопасным, за которым следует случайный пароль, но сейчас я довольно открыт для любого из этих 3 сценариев.
Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.