Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 337

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 331 332 333 334 335 336 < 337 > 338 339 340 341 342 343 .. 404 >> Следующая


Найдите метод page_Load() и добавьте в него следующий код:

private void Page_Load(object sender. System.EventArgs e)

(

// разрешено ли нам выполнять редактирование... if ((bool)Seseiont'canedit*) ==* falsa)

Response.Redirect('CannoCEdit,aspx');

3. Воспользуйтесь Solution Explorer — щелкните правой кнопкой мышн на проекте Weblog и выберите пункт меню Add | Add Web Form. Создайте новую форму CannotEdit. Откройте редактор HTML

для новой страницы и добавьте следующий код:

<%в Page language="cl." Codebehind-’CannotEdit.aspx.cs" AutoEventWireup="false* Inherits=,WebLoe.CannotEdit" %>

<1D0CTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0 Transitional//EN' >

<htrol>

<head>

¦emeta name= ¦ GENERATOR¦ Content="Microsoft Visual Studio 7.0">

<meta name="CODE_LANGUAGE" Content="C*¦>

<meta naine=* vs_defaultClientScript" content="JavaScript (ECMAScript)"> <meta name="vs_targetSchema"

content=*http://schemas.microsoft.com/intelliaense/ie5">

</head>

<body MS_POSITIONING=-GridLayouf> .

<form id=*CannotEdit" method**post* nanata"server¦>

Sorry, you're not allowed to make changes to the Bite.

/Простите, вы не можете вносить изменения в этот сайт,/

<br>

<br>

<л bref="default.aspx*>Concinue..,<Уа>

</form>

</body>

</html>

Откомпилируйте и запустите проект. Вы должны сразу заметить, что ссылки Edit и Create new entry приводят на страницу с сообщением об ошибке, а не на ту страницу, к которой мы имели доступ ранее (см. рис. справа).

Как это работает

Вся хитрость здесь заключается в том, что все это выполняет нечто, называемое сеансом. Сеанс — это средство ASP.NET, которое позволяет проводить идентификацию пользователя. Когда пользователь

htLp^i'/bcalbflitv'WtLbLag/'CjriJ'iDtEdK-. jvpx МИшгр

] fils Etf* Vfltsw FeVtrJtw Tboft Mafe

j ;<afock - |?| fll

;j Address. http ;//la isirat)WebLogfcannotEcft .«spx

Sony, you're not allowed to make changes to the site. , Continue...

z\

'ГГ Г

llk 3i Intranet

A
7 22

Глава 24

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

При создании нового сеанса, т, е. когда новый пользователь запрашивает первую страницу сайта, вызывается метод Session_Start(). И System.Web.HttpApplication, и System.Meb,oi.Page поддерживают свойство Session. Это свойство представляет собой базовое семейство для хранения значений. В данном случае было создано значение с именем canedit, для которого было сохранено значение false:

protected void Session_Start(Object sender, EventArgs e)

(

)

// конфигурирование сеанса.., Session['canedit'] = false;

Такие значения называются переменными сеанса.

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

Прн загрузке страницы Edit.aspx.cs производится проверка значения этой переменной, и если оно равно false, то пользователь перенаправляется на другую страницу.

private void Page_Load(object sender, System.EventArgs e)

{

И разрешено ли нам выполнять редактирование... i?((bool)Session['canedit'] == false)

Response.Redirect(“CannotEdit¦aepx');

Аутентификация пользователя

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

Практикум: аутентификация пользователя

1. Войдите в Solution Explorer, щелкните правой кнопкой мыши

на проекте Weblog и выберите пункт меню Add | Add Web Form. Назовите файл Login.aspx,

2. Войдите в Designer для данной формы, Щелкните мышью на основании страницы н с помощью окна Properties замените pageLayout на FlowLayout,

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

4.

общее представление о том, каким образом можно сделать страницу более прнилекательной. Вместо этого перенесите на страницу ИОВЫе управляющие Элементы — Textbox и Button.

Выберите управляющий элемент Textbox и измените значение его свойства id на textPassword. Измените значение его свойства TextMode на Password.
Предыдущая << 1 .. 331 332 333 334 335 336 < 337 > 338 339 340 341 342 343 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.