Пошаговое руководство. Создание веб-узла с членством и именами пользователей

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

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

В этом пошаговом руководстве рассматриваются следующие задачи:

  • Настройка приложения для использования служб членства ASP.NET. Определение пользователей.

  • Использование элементов управления входа в систему для получения учетных данных пользователя и отображения сведений вошедшим в систему пользователям.

  • Защита одной или более страниц в приложении, чтобы только вошедшие в систему пользователи могли их просматривать.

  • Разрешение новым пользователям регистрироваться на узле.

  • Разрешение членам изменять и сбрасывать их пароли.

Обязательные компоненты

Для выполнения инструкций данного пошагового руководства необходимы следующие компоненты:

  • Microsoft Visual Web Developer.

  • Службы IIS, установленные локально на компьютере.

  • Службы SQL Server, экспресс-выпуск, установленные на локальном компьютере.

  • Компоненты доступа к данным MDAC 2.7 или более поздней версии. Если используется Microsoft Windows XP или Windows Server 2003, то компоненты MDAC 2.7 уже установлены. При использовании Microsoft Windows 2000 может потребоваться обновить установленные компоненты MDAC. Дополнительные сведения содержатся в разделе "Microsoft Data Access Components (MDAC) Installation" в библиотеке MSDN.

  • Доступ к серверу электронной почты, который может пересылать сообщения. (Сервер не обязан иметь возможность получать сообщения.) Службы IIS включают виртуальный сервер SMTP по умолчанию — почтовый сервер, который подходит для данного пошагового руководства. Дополнительные сведения о настройке этого сервера содержатся в разделе Практическое руководство. Установка и настройка виртуальных серверов SMTP в IIS 6.0. Если вы работаете в локальной сети, выясните у администратора сети сведения о доступе к серверу электронной почты.

Создание веб-узла

Если вы уже создали веб-узел в Microsoft Visual Studio (например при работе с разделом Пошаговое руководство. Создание базовой веб-страницы в Visual Web Developer), можно использовать его и перейти к пункту "Настройка членства" ниже в этом руководстве. В противном случае создайте новый веб-узел и страницу, выполнив перечисленные ниже действия.

Создание локального веб-узла IIS

  1. Запустите Visual Studio.

  2. В меню Файл выберите Создать, Веб-узел.

    Откроется диалоговое окно Создать веб-узел.

  3. В группе Установленные шаблоны Visual Studio выберите Веб-узел ASP.NET.

  4. В списке Расположение выберите HTTP. Нажмите кнопку Обзор.

    Откроется диалоговое окно Выбор папки.

  5. Выберите Локальный веб-сервер IIS.

  6. Откройте Локальные веб-серверы.

  7. Выберите Веб-узел по умолчанию.

  8. Щелкните значок Создать новое веб-приложение (Кнопка “Создать новое веб-приложение”) над списком веб-узлов и назовите новый веб-узел membership.

  9. Нажмите кнопку Открыть.

    Диалоговое окно Выбор папки закроется.

  10. В поле Языки выберите язык программирования, с которым вы предпочитаете работать.

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

  11. В диалоговом окне Создать веб-узел нажмите ОК.

    Visual Web Developer создаст веб-узел и новую страницу с именем Default.aspx.

Настройка членства

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

Добавление новой папки на веб-узел

  1. В Обозревателе решений щелкните правой кнопкой мыши на имени веб-узла и нажмите кнопку Создать папку.

  2. Назовите папку MemberPages.

Перед началом работы с членством ASP.NET необходимо настроить приложение — включить членство и задать настройки пользователей. Можно использовать средство администрирования веб-узла, которое предоставляет аналогичный мастеру интерфейс для установки параметров конфигурации. По завершении работы мастера установки в папке App_Data проекта будет создана база данных SQL Server с именем ASPNETDB.MDF.

В данном пошаговом руководстве будет определен один пользователь.

Создание членства пользователя

  1. В меню Веб-узел выберите Конфигурация ASP.NET.

  2. Перейдите на вкладку Безопасность, щелкните ссылку Использовать Мастер настройки безопасности для пошаговой настройки безопасности, затем Далее.

  3. Перейдите к Шагу 2 Мастера и выберите параметр Из сети Интернет.

    Мастер отобразит страницу, где можно выбрать метод проверки подлинности, который будет использовать ваш веб-узел. Этот параметр указывает, что приложение будет использовать проверку подлинности с помощью форм, при которой пользователи будут входить в приложение с помощью страницы входа, которую вам предстоит создать позже в этом руководстве.

  4. Нажмите кнопку Далее.

    Мастер отобразит сообщение о том, что сведения о пользователе будут храниться с использованием Дополнительных параметров поставщика. По умолчанию сведения о членстве хранятся в файле базы данных Microsoft SQL Server Express в папке App_Data веб-узла.

  5. Нажмите кнопку Далее.

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

  6. Нажмите кнопку Далее.

    Мастер отобразит страницу, где можно создавать новых пользователей.

  7. Введите сведения, определяющие пользователя приложения. Используйте следующие значения в качестве рекомендуемых (можно использовать любые значения, но не забудьте их позже в этом пошаговом руководстве):

    • Имя пользователя. Ваше имя (без пробелов) или пример.

    • Пароль. Пароль. Требуется надежный пароль (содержащий прописные и строчные буквы, знаки препинания, и хотя бы восьми знаков в длину).

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

    • Вопрос безопасности и Ответ безопасности. Введите вопрос и ответ на него, которые могут быть использованы позже, если необходимо будет восстановить пароль.

  8. Нажмите кнопку Создать пользователя.

    Мастер отобразит страницу подтверждения.

    879kf95c.alert_note(ru-ru,VS.90).gifПримечание.

    Не закрывайте средство администрирования веб-узла.

Ранее в этом руководстве вы создали папку с именем MemberPages. В этой части руководства предстоит создать правило, гарантирующее, что только вошедшие в систему пользователи могут получить доступ к страницам в этой папке.

Настройка правил доступа для подкаталога MemberPages

  1. В окне Мастера нажмите кнопку Далее.

    Мастер отобразит страницу, позволяющую задать правила доступа.

  2. В поле Добавить новое правило доступа разверните узел веб-узла.

  3. Выберите MemberPages — созданную ранее папку.

  4. В группе Правило применяется к выберите Анонимные пользователи.

  5. В группе Разрешение выберите Запретить.

    Создаваемое правило запрещает доступ анонимным пользователям, то есть пользователям, не вошедшим в систему.

  6. Нажмите кнопку Добавить это правило.

    Новое правило отобразится в таблице ниже. При запросе пользователем страницы из подкаталога MemberPages проверяются правила, чтобы определить, разрешать ли пользователю доступ к странице.

  7. Нажмите кнопку Готово.

    Вы закончили работу с Мастером. Мастер закрывается, и вы возвращаетесь на вкладку Безопасность средства администрирования веб-узла.

Настройка приложения для электронной почты

Для части данного пошагового руководства приложению требуется возможность отправлять сообщения электронной почты. Чтобы отправлять сообщения, приложение должно иметь доступ к серверу SMTP (Simple Mail Transport Protocol), который пересылает сообщения электронной почты из приложения получателю.

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

После настройки или определения способа, как получить доступ к SMTP-серверу, необходимо настроить приложение для маршрутизации сообщений на этот сервер. Можно сделать это путем создания записи в файле Web.config вашего веб-узла, который содержит ряд параметров, определяющих способ выполнения приложения.

Настройка приложения для использования конкретного SMTP-сервера

  1. В средстве администрирования веб-узла перейдите на вкладку Приложение.

  2. В параметрах SMTP выберите Настройка параметров электронной почты SMTP.

    Средство отображает страницу, на которой можно настроить электронную почту.

  3. При использовании виртуального SMTP-сервера на компьютере введите localhost как Имя сервера; в ином случае введите другое подходящее имя сервера.

    Включите информацию о номере порта и о проверке подлинности в соответствии с требованиями SMTP-сервера. Обратитесь к администратору за дополнительными сведениями о настройке этих параметров.

  4. В поле От введите действительный адрес электронной почты.

  5. Нажмите кнопку Сохранить и на странице подтверждения выберите OK.

    Средство администрирования веб-узла создает файл Web.config (если он еще не существует) с заданными параметрами.

    879kf95c.alert_note(ru-ru,VS.90).gifПримечание.

    Файл Web.config не появится в веб-обозревателе решений до тех пор, пока отображение не обновится.

  6. Закройте Средство администрирования веб-узла.

Вход пользователя в систему

Это часть работы приложения — установить личность пользователя, чтобы приложение могло выполнять действия, такие как отображение или скрытие сведений в зависимости от того, кем является пользователь. Чтобы узнать личность пользователя, необходим вход пользователя в систему.

В данном пошаговом руководстве вам предстоит добавить ссылку на домашнюю страницу, которая приводит пользователя на страницу входа в систему, а затем будет создана эта страница входа в систему.

Создание домашней страницы с кнопкой входа в систему

  1. Откройте страницу Default.aspx вашего узла или переключитесь на нее. (Если у вас нет страницы Default.aspx, можно добавить ее или использовать другую.)

  2. Перейдите в представление конструирования.

  3. Введите статический текст, например Добро пожаловать на наш сайт, и в панели инструментов Форматирование используйте раскрывающийся список Формат блока, чтобы отформатировать текст как "Заголовок 1".

  4. Из группы Вход в систему в Панели элементов перетащите элемент управления LoginStatus на страницу.

По умолчанию элемент управления LoginStatus отображается как ссылка. Когда пользователь щелкает его, приложение отображает страницу входа. Теперь создадим страницу входа.

Создание страницы входа в систему

  1. В Обозревателе решений щелкните правой кнопкой мыши веб-приложение и выберите Добавление нового элемента. Добавьте Форму Web Form с именем Login.aspx на узел.

    879kf95c.alert_note(ru-ru,VS.90).gifПримечание.

    В данном пошаговом руководстве страница должна называться Login.aspx. По умолчанию проверка подлинности с помощью форм настроена для работы со страницей с таким именем. Хотя это не будет выполнено в данном руководстве, можно изменять страницу входа по умолчанию — страницу, на которую пользователи будут перенаправляться — в файле Web.config.

  2. На странице Login.aspx переключитесь на представление конструирования.

  3. Из группы Вход в систему в Панели элементов перетащите элемент управления Login на страницу.

    Элемент управления Login запрашивает у пользователя учетные данные и проверяет их.

Отображение ошибок входа

Элемент управления Login содержит проверку, чтобы помочь пользователям вводить правильные сведения. Например, если пользователь пропустит ввод пароля, проверяющий элемент управления покажет звездочку (*) рядом с полем Пароль. Можно предоставить более полные сведения об ошибках входа в систему путем добавления элемента управления ValidationSummary на страницу.

Отображение подробного описания ошибки входа

  1. Из группы Проверка в Панели элементов перетащите элемент управления ValidationSummary на страницу.

  2. В окне Свойства элемента управления ValidationSummary присвойте свойству ValidationGroup значение Login1 — значение по умолчанию идентификатора добавленного ранее элемента управления Login.

Отображение информации для вошедших в систему пользователей

Теперь вам предстоит изменить домашнюю страницу для различного отображения в зависимости от того, вошел ли пользователь. Анонимные пользователи увидят универсальное сообщение, приглашающее их войти. Вошедшие в систему пользователи увидят сообщение, приветствующее их по имени, по которому произошел вход.

Настройка отображения для вошедшего в систему пользователя

  1. Переключитесь на страницу Default.aspx или откройте ее.

  2. Из группы Вход в систему в Панели элементов перетащите элемент управления LoginView на страницу.

    Элемент управления LoginView отображается с открытым шаблоном AnonymousTemplate. Данный шаблон позволяет определить содержание, которое пользователь будет видеть, пока не войдет в систему.

  3. Щелкните по области редактирования элемента управления LoginView для активации режима редактирования.

  4. В области редактирования шаблона AnonymousTemplate элемента управления LoginView введите Вы не зарегистрированы. Щелкните ссылку входа, чтобы войти.

  5. В панели Задачи LoginView в списке Представления выберите LoggedInTemplate. Если вы не видите панели Задачи LoginView, щелкните правой кнопкой мыши заголовок элемента управления LoginView и выберите Показать смарт-тег.

    Теперь определим содержание, которое будет показано уже вошедшим пользователям.

  6. Щелкните область редактирования элемента управления LoginView для активации режима редактирования, а затем введите Вы вошли в систему. Добро пожаловать,.

  7. Из группы Вход в систему в Панели элементов перетащите элемент управления LoginName на шаблон после текста.

Проверка возможности входа в систему

Теперь можно проверить возможность входа в приложение.

Для проверки возможности входа в систему:

  1. В Обозревателе решений щелкните правой кнопкой мыши default.aspx и выберите Задать в качестве начальной страницы.

    Это настраивает веб-узел таким образом, что при выполнении узла первым делом отображается страница Default.aspx.

  2. Нажмите клавишу CTRL+F5 для запуска веб-узла.

    Домашняя страница (Default.aspx) появится в веб-обозревателе, отобразив ссылку Вход и универсальное сообщение приветствия.

  3. Щелкните ссылку Вход.

    Отображается созданная страница входа.

  4. Введите имя пользователя, созданного ранее в этом руководстве, и нажмите кнопку Войти. (Пока не вводите пароль.)

    Рядом с полем Пароль отображается звездочка (*), а в элементе управления ValidationSummary отображается сообщение об ошибке.

  5. Введите имя пользователя и пароль и нажмите кнопку Войти.

    Если учетные данные были введены правильно, вы вернетесь на домашнюю страницу. На странице теперь отображаются: ссылка Выход из системы, ваше имя пользователя и сообщение приветствия, определенное для зарегистрированного пользователя.

  6. Закройте веб-обозреватель.

Ограничение доступа для страниц "только для членов"

Типичная задача для многих веб-узлов — настройка страниц так, чтобы только зарегистрированные пользователи могли их просматривать. Ранее в этом пошаговом руководстве вы создали подкаталог MemberPages и правило, которое ограничивает доступ к страницам в подкаталоге. В этом разделе пошагового руководства вы добавите страницу в защищенный подкаталог и проверите работу правила доступа.

Создание страницы с доступом только для членов

  1. В Обозревателе решений щелкните правой кнопкой мыши папку MemberPages, затем выберите Добавление нового элемента и добавьте новую веб-форму с именем Members.aspx.

    879kf95c.alert_note(ru-ru,VS.90).gifПримечание.

    Убедитесь, что страница создана в папке MemberPages.

  2. В представлении конструирования добавьте текст на страницу, например Добро пожаловать, участники! Точный текст не имеет значения, нужна просто возможность распознать эту страницу при ее просмотре в веб-обозревателе.

Теперь можно добавить ссылку на доступную только членам страницу на домашней странице. В реальных приложениях эту ссылку скорее всего стоит разместить в шаблоне для зарегистрированных пользователей элемента управления LoginView. Таким образом, посетители веб-узла не увидят ссылку до тех пор, пока не зарегистрируются. В данном руководстве, тем не менее, ссылка будет доступна для всех пользователей, чтобы можно было увидеть результат попытки просмотра доступной только для членов страницы без регистрации.

Добавление ссылки на доступную только членам страницу

  1. Переключитесь на страницу Default.aspx или откройте ее.

  2. Из группы Стандартные в Панели элементов перетащите элемент управления HyperLink на страницу.

  3. В окне Свойства элемента управления HyperLink установите свойство Text в Страница для членов, а свойство href в ~/MemberPages/Members.aspx, чтобы указать на ранее созданную страницу.

Тестирование доступной только членам страницы

Можно проверить доступную только членам страницу путем доступа к ней последовательно в качестве анонимного и зарегистрированного пользователя.

Проверка страницы с доступом только для членов

  1. Нажмите клавишу CTRL+F5 для запуска веб-узла.

  2. Когда страница Default.aspx появится в веб-обозревателе, не входите в систему. Вместо этого щелкните ссылку Страница для членов.

    Вы будете перенаправлены на страницу Login.aspx из-за отказа в доступе к этой странице для анонимных пользователей.

  3. На странице входа введите имя пользователя и пароль, использованные ранее в этом пошаговом руководстве, для входа.

    Вы будете перенаправлены на страницу Members.aspx, так как имя пользователя, под которым вы вошли, прошло авторизацию для доступа к странице.

  4. Закройте окно веб-обозревателя.

Создания новых пользователей

В первой части руководства вы создали пользователя средствами администрирования веб-узла. Этот прием удобен при работе с небольшим, известным списком пользователей (например если вы создаете пользователей для небольшой команды). Однако на многих веб-узлах пользователям разрешено регистрироваться. ASP.NET содержит элемент управления CreateUserWizard, выполняющий ту же задачу, что вы выполнили ранее с помощью средства администрирования веб-узла.

В этой части пошагового руководства будет добавлено средство, позволяющее пользователю регистрироваться на веб-узле. Для начала предстоит создать страницу регистрации.

Создание страницы регистрации

  1. В Обозревателе решений щелкните правой кнопкой мыши имя веб-узла, выберите Добавление нового элемента и добавьте новую Форму Web Form с именем Register.aspx.

    879kf95c.alert_note(ru-ru,VS.90).gifПримечание.

    Убедитесь, что создали страницу в корневом каталоге веб-узла, а не в папке MemberPages.

  2. На странице Register.aspx переключитесь в режим Конструктора и введите статический текст, например Зарегистрироваться, на странице. В панели инструментов Форматирование используйте раскрывающийся список Формат блока, чтобы отформатировать текст как "Заголовок 1".

  3. Из группы Вход в систему в Панели элементов перетащите элемент управления CreateUserWizard на страницу.

  4. В окне Свойства элемента управления CreateUserWizard установите свойство ContinueDestinationPageUrl в ~/Default.aspx.

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

  5. Из группы Стандартные в Панели элементов перетащите элемент управления HyperLink на страницу. В окне Свойства элемента управления HyperLink установите свойство Text в Домашняя страница, а свойство href в ~/Default.aspx.

Теперь можно добавить ссылку, ведущую на страницу регистрации, на домашнюю страницу. В данном пошаговом руководстве предположим, что вы хотите показывать ссылку на регистрацию только незарегистрированным пользователям.

Создание ссылки на страницу регистрации на домашней странице

  1. Переключитесь на страницу Default.aspx или откройте ее.

  2. Щелкните правой кнопкой мыши добавленный ранее элемент управления LoginView и выберите Показать смарт-тег. В панели Задачи LoginView выберите AnonymousTemplate в списке Представления, чтобы перейти в режим редактирования в анонимном шаблоне.

  3. Из группы Стандартные в Панели элементов перетащите элемент управления HyperLink на анонимный шаблон. В окне Свойства элемента управления HyperLink установите свойство Text в Регистрация, а свойство href в Register.aspx. Ссылка Регистрация будет показана только незарегистрированным пользователям.

Теперь можно проверить работу процесса регистрации.

Проверка работы регистрации

  1. Нажмите клавиши CTRL+F5 для запуска веб-узла и отображения страницы Default.aspx.

    Поскольку вы не зарегистрировались, отображается страница, содержащая ссылку Регистрация.

  2. Щелкните ссылку Регистрация.

    Отобразится страница регистрации.

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

  4. Нажмите кнопку Создать пользователя.

    Отобразится сообщение запроса подтверждения.

  5. Нажмите кнопку Продолжить.

    Вы вернетесь на домашнюю страницу как зарегистрированный пользователь. Обратите внимание, что ссылка Вход изменилась на Выход и сведения, отображаемые в элементе управления Login, — это текст из свойства LoggedInTemplate, а не из свойства AnonymousTemplate.

  6. Щелкните ссылку Выход.

    Страница изменилась и отображается теперь как для анонимных пользователей.

  7. Щелкните ссылку Вход.

  8. Введите учетные данные для только что созданного пользователя.

    Вы вошли в качестве нового пользователя.

  9. Закройте окно веб-обозревателя.

Изменение пароля

Пользователю иногда может понадобиться изменить свой пароль, и часто это нецелесообразно делать вручную. Можно использовать другой элемент управления ASP.NET, позволяющий пользователям изменять пароли на свое усмотрение. Чтобы изменить пароль, пользователь должен знать свой текущий пароль.

В этом пошаговом руководстве будет добавлена страница, где зарегистрированные пользователи смогут менять свой пароль.

Создание страницы изменения пароля

  1. В Обозревателе решений щелкните правой кнопкой мыши папку MemberPages, затем выберите Добавление нового элемента и добавьте новую веб-форму с именем ChangePassword.aspx.

    879kf95c.alert_note(ru-ru,VS.90).gifПримечание.

    Убедитесь, что страница создана в папке MemberPages.

    Страница помещается в каталог доступных только членам страниц, так как только зарегистрированные пользователи могут изменять свои пароли.

  2. На странице ChangePassword.aspx переключитесь в режим Конструктора и введите статический текст, например Сменить пароль. В панели инструментов Форматирование используйте раскрывающийся список Формат блока, чтобы отформатировать текст как "Заголовок 1".

  3. Из группы Вход в систему в Панели элементов перетащите элемент управления ChangePassword на страницу.

  4. В окне Свойства элемента управления ChangePassword установите свойство ContinueDestinationPageUrl в ~/Default.aspx.

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

Теперь можно добавить ссылку на страницу изменения пароля на домашнюю страницу. Эта ссылка будет доступна только зарегистрированным пользователям.

Создание на домашней странице ссылки на страницу изменения пароля

  1. Переключитесь на страницу Default.aspx или откройте ее.

  2. Щелкните правой кнопкой мыши элемент управления LoginView и выберите команду Показать смарт-тег. В меню Задачи LoginView в списке Представления выберите LoggedInTemplate.

    Это переключит элемент управления LoginView в режим редактирования содержания страницы для зарегистрированных пользователей.

  3. Из группы Стандартные в Панели элементов перетащите элемент управления HyperLink на редактируемую область. В окне Свойства элемента управления HyperLink установите свойство Text в Изменить пароль, а свойство href в ~/MemberPages/ChangePassword.aspx.

    Ссылка Изменить пароль будет показана только зарегистрированным пользователям, в отличие от созданной ранее ссылки Регистрация.

Теперь можно проверить работу процесса изменения пароля.

Проверка работы изменения пароля

  1. Нажмите клавишу CTRL+F5 для запуска веб-узла.

  2. На странице Default.aspx щелкните ссылку Вход и войдите в систему в качестве одного из созданных пользователей.

    Закончив, вы вернетесь на домашнюю страницу в качестве зарегистрированного пользователя.

  3. Щелкните ссылку Изменить пароль.

  4. На странице изменения пароля введите старый пароль и новый пароль, а затем нажмите Изменить пароль.

  5. Нажмите кнопку Продолжить.

  6. На домашней странице нажмите кнопку Выход.

  7. Щелкните ссылку Вход.

  8. Введите новый пароль.

    Вы зарегистрировались с помощью нового пароля.

  9. Закройте окно веб-обозревателя.

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

Пользователи иногда забывают свои пароли. Можно добавить страницу восстановления пароля на веб-узел, чтобы они могли снова войти на узел. Восстановление пароля может проходить двумя путями:

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

  • Можно отправлять пользователям новый пароль, который они могут изменить, используя созданную ранее страницу смены пароля. Этот вариант удобен, если веб-узел сохраняет пароли с использованием необратимого шифрования, например хеширования.

879kf95c.alert_note(ru-ru,VS.90).gifПримечание.

Возврат паролей незашифрованным текстом по электронной почте не рекомендуется для узлов, требующих высокого уровня безопасности. Для узлов с высоким уровнем безопасности рекомендуется возвращать пароль с использованием шифрования, такого как SSL (Secure Sockets Layer).

По умолчанию система членства ASP.NET защищает пароли хешированием, то есть пароли не могут быть восстановлены. Таким образом, в данной части руководства веб-узел будет отправлять пользователям новый пароль.

879kf95c.alert_note(ru-ru,VS.90).gifПримечание.

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

Чтобы добавить на узел возможность восстановления пароля:

  1. В Обозревателе решений щелкните правой кнопкой мыши имя веб-узла, выберите Добавление нового элемента и добавьте новую Форму Web Form с именем RecoverPassword.aspx.

    879kf95c.alert_note(ru-ru,VS.90).gifПримечание.

    Убедитесь, что создали страницу в корневом каталоге веб-узла, а не в папке MemberPages.

  2. На странице RecoverPassword.aspx переключитесь в режим Конструктора и введите статический текст, например Сбросить пароль в новое значение. В панели инструментов Форматирование используйте раскрывающийся список Формат блока, чтобы отформатировать текст как "Заголовок 1".

  3. Из группы Вход в систему в Панели элементов перетащите элемент управления PasswordRecovery на страницу.

  4. Из группы Стандартные в Панели элементов перетащите элемент управления HyperLink на страницу. В окне Свойства элемента управления HyperLink установите свойство Text в Домашняя страница, а свойство href в ~/Default.aspx.

  5. Перейдите на страницу Default.aspx.

  6. Щелкните правой кнопкой мыши элемент управления LoginView и выберите команду Показать смарт-тег. В меню Задачи LoginView в списке Представления выберите AnonymousTemplate.

    Это переключит элемент управления LoginView в режим редактирования содержания страницы для незарегистрированных пользователей.

  7. Из группы Стандартные в Панели элементов перетащите элемент управления HyperLink на шаблон. В окне Свойства для элемента управления HyperLink, установите значение свойства Text равным Забыли пароль? и значение свойства href равным ~/RecoverPassword.aspx.

Теперь можно проверить работу возможности восстановления паролей.

Проверка работы возможности восстановления паролей

  1. Нажмите клавишу CTRL+F5 для запуска веб-узла.

  2. По умолчанию вы не зарегистрированы, поэтому увидите анонимный шаблон элемента управления LoginView.

  3. Щелкните ссылку Забыли пароль?.

    Появится страница RecoverPassword.aspx.

  4. Введите имя пользователя и нажмите кнопку Отправить.

    Отобразится вопрос безопасности и приглашение ввести ответ безопасности.

  5. Введите ответ и нажмите кнопку Отправить.

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

Следующие действия

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

См. также

Основные понятия

Знакомство с членством