Элементы управления безопасностью

147

Теперь, когда вы подготовили поставщика и хранилище для информации о пользователях, можете приступать к построению пользовательского интерфейса для аутентификации, входа пользователей и предоставлении им возможности переустановки паролей. Все это потребует создания ряда страниц ASP.NET (таких как MyLogin.aspx, которая необходима для рассмотренной ранее аутентификации с помощью форм).

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

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

Элементы управления безопасностью ASP.NET
Элемент управления Описание
Login

Составной элемент управления, который решает наиболее общую задачу в приложениях, основанных на аутентификации с помощью форм - отображает текстовые поля для ввода имени пользователя и пароля, а также кнопку входа. Вдобавок, если события обрабатываются посредством специальных процедур событий, он автоматически проверяет пользователя через поставщик членства по умолчанию. Этот элемент обычно помещается на странице login.aspx (связанной через настройку loginUrl), используемой для аутентификации с помощью форм. Тем не менее, его можно разместить на любой странице, где нужно разрешить пользователям входить на веб-сайт

LoginStatus

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

LoginView

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

PasswordRecovery

Позволяет пользователю извлечь пароль, если при регистрации был указан его адрес электронной почты. Запрашивает имя пользователя, затем автоматически отображает интерфейс с контрольным вопросом и ожидает ответа. Если ответ правильный, использует Membership API для отправки пароля пользователю. Обычно этот элемент управления помещается на отдельную страницу веб-сайта, предназначенную для переустановки пароля. На эту страницу, например, может ссылаться страница входа

ChangePassword

Составной элемент управления, который запрашивает старый пароль пользователя и позволяет ему ввести и подтвердить новый пароль. Опять-таки, этот элемент управления обычно размещается на отдельной странице ASP.NET, предназначенной для смены пароля пользователем

CreateUserWizard

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

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

Если же вы перехватываете события, сгенерированные элементами управления, то сами отвечаете за надлежащее выполнение задачи. Например, элемент управления Login поддерживает событие Authenticate. Если вы не перехватываете это событие, автоматически используется Membership API. Но если вы его перехватываете, то ответственность за проверку удостоверения пользователя возлагается на вас.

В следующих статьях мы рассмотрим эти элементы управления более подробно.

Пройди тесты
Лучший чат для C# программистов