Поделиться через


Практическое руководство. Включение восстановления пароля пользователя с помощью элемента управления ASP.NET PasswordRecovery

Обновлен: Ноябрь 2007

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

Для восстановления пароля приложение должно иметь возможность отправки сообщения пользователю по электронной почте. Поэтому в приложении должно быть задано имя SMTP-сервера, которому он может пересылать сообщения электронной почты. Дополнительные сведения см. в классе SmtpClient и в разделе Практическое руководство. Установка и настройка виртуальных серверов SMTP в IIS 6.0.

Включение восстановления пароля

  1. Создайте и отредактируйте веб-страницу ASP.NET на веб-узле, который доступен для анонимных пользователей (например, RecoverPassword.aspx). Для указания возможности анонимного доступа к странице необходимо на веб-узле проверки подлинности использовать элемент конфигурации location, как показано в следующем примере:

    <configuration>
      <location path="RecoverPassword.aspx">
        <system.web>
          <authorization>
            <allow users="?" />
          </authorization>
        </system.web>
      </location>
    
      <system.web>
        <authentication mode="Forms" >
          <forms loginUrl="UserLogin.aspx" />
        </authentication>
        <authorization>
          <deny users="?" />
        </authorization>
      </system.web>
    </configuration>
    
  2. Поместите элемент управления PasswordRecovery на страницу, как показано в следующем примере:

    <asp:PasswordRecovery ID="PasswordRecovery1" Runat="server">
    </asp:PasswordRecovery>
    
  3. При необходимости настройте следующие шаблоны, позволяющие настраивать внешний вид элемента управления PasswordRecovery: UserNameTemplate, QuestionTemplate и SuccessTemplate.

См. также

Ссылки

Общие сведения об элементах управления входом ASP.NET