Элементы управления LoginStatus и LoginView

102

LoginStatus

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

<asp:LoginStatus ID="LoginStatus1" runat="server"
	LoginText="Войти в систему"
	LogoutText="Выйти"
	LogoutPageUrl="~/MyLogin.aspx"
	LogoutAction="Redirect" />

Элемент управления LoginStatus предлагает несколько свойств для настройки текста ссылок и URL-адресов для перенаправления, когда пользователь на них щелкает. Наиболее важные свойства перечислены в таблице ниже:

Свойства для настройки элемента управления LoginStatus
Свойство Описание
LoginText

Текст, отображаемый, когда пользователь еще не вошел

LoginImageUrl

URL-адрес значка ссылки для входа

LogoutText

Текст, отображаемый, если пользователь уже аутентифицирован

LogoutImageUrl

URL-адрес значка ссылки для выхода

LogoutAction

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

LogoutPageUrl

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

LoginView

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

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

<asp:LoginView ID="LoginView1" runat="server">
    <AnonymousTemplate>
        <h2>Вы не можете добавить комментарий, т.к. не вошли в систему</h2>
    </AnonymousTemplate>
    <LoggedInTemplate>
        <h2>Добавить комментарий: </h2>
        <asp:TextBox ID="Comment" runat="server" Width="200" /><br />
        <asp:Button ID="Button1" runat="server" Text="Добавить" />
    </LoggedInTemplate>
</asp:LoginView>

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

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