Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 5 - безопасность.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
108.03 Кб
Скачать

Элементы управления группы Login

элементы управления этой группы могут брать на себя регистрацию и авторизацию пользователей, восстановления пароля и другие функции, взаимодействуя при этом с системой Membership и Roles. Группа Login находится в панели инструментов.

Элемент управления LoginName позволяет показать имя пользователя:

Заходите еще, <asp:LoginName ID="FCLoginName" Runat="server" />

Отображаемый текст можно форматировать с помощью FormatString:

<asp:LoginName ID="HelloLoginName" Runat="server" FormatString="Hello, {0}" />.</p>

LoginStatus — это умный элемент управления. Если пользователь не аутентифицирован, отображается гиперссылка Login на страницу входа на сайт. Если пользователь авторизован, это ImageButton с командой Logout. Если ее нажать, то пользователь выходит из системы. Текст ссылок можно менять в свойствах LoginText и LogoutText или использовать изображения:

<asp:LoginStatus ID="LoginStatus1" runat="server"

LoginText="Вход" LogoutText="Выход" />

<asp:LoginStatus ID="LoginStatus2" runat="server"

LogoutAction="Redirect" LogoutPageUrl="~/Default.aspx"

LoginImageUrl="~/Images/arrow_next.gif"

LogoutImageUrl="Images/arrow_prev.gif" />

Нажатие на ссылку Logout в этом случае перенаправит пользователя на страницу Default.aspx.

Элемент управления LoginView состоит из двух шаблонов: AnonymousTemplate и LoggedInTemplate. Который из них используется для отображения, зависит от того, просматривает ли страницу анонимный пользователь или авторизованный. На странице default.aspx Starter Kit это единственный элемент на странице Registration.aspx:

<asp:loginview id="LoginArea" runat="server">

<AnonymousTemplate>

<asp:login id="Login1" runat="server">

<layouttemplate>

<div class="login">

<h4>Login to Site</h4>

<asp:label runat="server" id="UserNameLabel" CssClass="label"

associatedcontrolid="UserName">User Name</asp:label>

<asp:textbox runat="server" id="UserName" cssclass="textbox"

accesskey="u" />

<asp:requiredfieldvalidator runat="server" id="UserNameRequired"

controltovalidate="UserName" validationgroup="Login1" errormes-

sage="User Name is required." tooltip="User Name is required."

>*</asp:requiredfieldvalidator>

<asp:label runat="server" id="PasswordLabel" CssClass="label"

associatedcontrolid="Password">Password</asp:label>

<asp:textbox runat="server" id="Password" textmode="Password"

cssclass="textbox" accesskey="p" />

<asp:requiredfieldvalidator runat="server" id="PasswordRequired"

controltovalidate="Password" validationgroup="Login1"

tooltip="Password is required." >*</asp:requiredfieldvalidator>

<div><asp:checkbox runat="server" id="RememberMe" text="Remember

me next time"/></div>

<asp:imagebutton runat="server" id="LoginButton"

CommandName="Login" AlternateText="login" skinid="login"

CssClass="button"/> or

<a href="register.aspx" class="button"><asp:image id="Image1"

runat="server" AlternateText="create a new account" skinid="cre-

ate"/></a>

<p><asp:literal runat="server" id="FailureText" enableview-

state="False"></asp:literal></p>

</div>

</layouttemplate>

</asp:login>

</anonymoustemplate>

<LoggedInTemplate>

<h4><asp:loginname id="LoginName1" runat="server" format-

string="Welcome {0}!" /></h4>

</LoggedInTemplate>

</asp:loginview>

Анонимному пользователю предоставляется возможность зайти или зарегистрироваться, а авторизованный видит приветствие со своим именем.

Кроме того, с помощью <RoleGroups> можно создавать шаблоны, которые будут показаны пользователям с определенными ролями:

<RoleGroups>

</asp:RoleGroup>

<asp:RoleGroup Roles="Moderator">

Вы можете удалять чужие сообщения.

<ContentTemplate>

</ContentTemplate>

</asp:RoleGroup>

<asp:RoleGroup Roles="ClubMember">

<ContentTemplate>

Вы можете заходить в клубный форум.

</ContentTemplate>

</RoleGroups>

Шаблоны групп просматриваются по порядку, и показывается тот из них, что найден первым из групп, в которые входит пользователь. Например, если она принадлежит к группам Moderator и ClubMember, будет показан шаблон Moderator. Роли можно перечислять через запятую, тогда шаблон применим ко всем указанным группам:

<asp:RoleGroup Roles="Moderator, Administrator">

Остальные элементы управления этой группы — формы и мастера — Login, PasswordRecovery, ChangePassword.