Проблема при сбросе пароля в ASP.NET - PullRequest
0 голосов
/ 21 июля 2009

Я занимаюсь разработкой приложения, для которого я должен создать страницу для пользователей, которые забывают пароли и отправляют им новые пароли по электронной почте. Я использую членство в ASP.NET, а формат пароля должен быть хеширован.

Моя проблема в том, что при отправке почты произошел сбой, пароль был изменен и ничего себе! никакая работа не может быть сделана.

каково ваше решение?

Ответы [ 6 ]

1 голос
/ 21 июля 2009

Вы можете временно установить значение passwordFormat для затронутых пользователей на «Очистить» в таблице aspnet_Membership, назначить им пароль и затем поработать над тем, чтобы электронная почта работала.

Установка значения aspnet_Membership.passwordFormat в 0 изменяет формат на Очистить текст, что означает, что он не зашифрован. Это не безопасно , но разрешит вход в систему. После этого вы можете сбросить пароль, и он будет изменен на 2 (зашифровано).

alt text

1 голос
/ 21 июля 2009

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

Но лучше не отправлять пароли в любом виде или форме. Это самый безопасный.

Процесс

  1. Пользователи запрашивают сброс пароля по электронной почте.
  2. Они получают электронное письмо со ссылкой
  3. Они нажимают на ссылку и предоставляют новый пароль, который сразу же хэшируется и сохраняется в системе.
0 голосов
/ 21 июля 2009

ASP.NET также поддерживает метод вопросов и секретных ответов для восстановления пароля, если электронная почта не работает.

0 голосов
/ 21 июля 2009

Я не знаю поддержки такой функции в asp.net.

Но некоторые веб-сайты отправляют вам электронные письма со ссылкой для нажатия (срок действия которой истекает через несколько дней). Нажав на,, вы убедитесь, что вы совершаете это действие (т. Е. Пароль изменяется только после того, как они получают электронную почту и нажимают на полученную ссылку).

0 голосов
/ 21 июля 2009

Если можно определить, успешно ли отправлено электронное письмо, прежде чем вы фактически внесете изменения в базу данных, это будет хорошим вариантом. Это не всегда так, но, возможно, это сработает для вашего приложения.

Обычно, исходя из моего опыта, ASP вызывает исключение в случае сбоя электронной почты. Если это произойдет, ничего не делайте в БД, если почта проходит, смените пароль. Это не значит, что они получат электронное письмо, но вы все равно не сможете учесть проблемы во время путешествия по электронной почте. Опция выше будет применяться после этого не удается. ;)

0 голосов
/ 21 июля 2009

Пользователь должен изменить свой пароль еще раз, и мы надеемся, что электронная почта будет успешной.

Если они ввели неправильный адрес, им следует обратиться к администратору, который может исправить их адрес электронной почты.

...