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

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 391 392 393 394 395 396 < 397 > 398 399 400 401 402 403 .. 404 >> Следующая


«configuration

¦ <system.web>

«authentication mode=¦Forms¦>

«forms nejne=" .NEWSMAILER" loginUrl-'Login.aepx* ¦

protection“*All* tiroeout“"60">

«credentials paeewordFormat=pClear" >

«user name="Admin" paesword="AdminOK"/>

«user name^'Marco" paeeword="UarcoOK"/>

«/credentiale>

' </forme>

«/authentication

«authori rat ion>

«deny usera*’?" />

«/authorization>

</system.web>

«appSeccings>

«add key="connacring" value-"Provider-Microsoft-Jet.OLEDB.4.0;

Data source-E:\Projecta\NewsMailer\DB\NeweMailer.dndb" /> </appsettings>

</configuration>

Выполнение аутентификации в режиме Forms означает, что для регистрации будет использоваться web-форма (в качестве альтернативных вариантов можно указать систему HTTP Basic или систему Microsoft Passport). Строки программы, расположенные внутри раздела «authentication;», определяют URL страницы регистрации, на которую пользователи будут отправляться, если они не пройдут процедуру аутентификации прн попытке доступа к закрытым страницам. Для хранения информации о регистрации и о полномочиях пользователей, которым разрешен доступ к сайту, используется куки ( .newsmailer). Для нашего простого примера мы храним полномочия в виде комбинаций имени пользователя — пароля, В завершение тег «deny users= ¦ ?* />, расположенный внутри раздела <authorization> определяет, что анонимным пользователям запрещается входить в закрытую часть приложения.

Обеспечение безопасности в ASP.NET может быть намного более сложным и профессиональным — это всего лишь пример основ системы аутентификации пользователей и определения полномочий. Если вы собираетесь пользоваться файлом web.conEig, то у вас также появляется возможность зашифровывать
Практический пример 2 — Менеджер рассылки новостей в режиме онлайн

843

пароли с помощью Triple DES. Другая возможность заключается в том, чтобы либо хранить имена пользователей и пароли о таблице базы данных и использовать собственную функцию для проверки правильности регистрационной информации, переданной пользователем, либо проверять пользователей по Windows Active Directory. Все это, однако, выходит за рамки настоящего раздела. Более подробную информацию вы сможете почерпнуть в документации .NET Framework SDK или в книге “ASP.NET для профессионалов” (“Professional ASP.NET”), выходящей в издательстве “Лори” в 2004 г.

Файл Login.aspx и его код поддержки

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

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

protected void LoginUser_Click(object sender, EventArge e)

(

/ / проверка имени и пароля данного пользователя

if (FormatAuthentication. Authenticate(UaerNaoie .Text, Password

С

// если пользователь аутентифицирован, paat: :ить вход // (если если это требует пользователь) пер.. йти страницу,

// которув требует процедура аутентификации FormsAuthentication. RedirectFromLoainPage(DserName.Text Peraietent,Checked);

)

else

<

H если имя пользователя или пароль неверны, вывести сообцение об ошибке

- InvalidLogin.Visible = true;

}

>

В ЭТОЙ программе осуществляется ВЫЗОВ метода Authenticate о, который производит проверку правильности именн пользователя и пароля. Если они не распознаны, то выводится надпись InvalidLogin, в противном случае, регистрационная информация записывается в куки (если в окне выбора Persistent Login установлен соответствующий флажок), и браузер переходит на страницу, которая необходима дня регистрации пользователя. URL этой страницы передается в строке запроса, и вы можете увидеть ее в линейке с адресом на рисунке, приведенном выше: там ВЫВОДИТСЯ URL localhost/newsmailer/Lists.aspx В закодированном виде. В Этом случае, если пользователь попытается загрузить некоторую страницу и не пройдет процедуру аутентификации, то он будет снова отправлен на страницу регистрации и после успешного прохогедения аутентификации возвращен на исходную страницу.

Теперь приложение выглядит вполне завершенным, однако остается еще одна маленькая проблема. Что произойдет, если пользователь отправит форму, для того
844

Практический пример

чтобы подписаться на некий список? Такой пользователь не будет аутентифицирован, поэтому он будет отправлен на страницу регистрации. Такого, естественно, быть не должно, и одним из возможных решений этой проблемы является перенос страницы Subscribe.aspx в другую папку, куда анонимный пользователь будет1 иметь возможность загрузить требуемую страницу. Такой способ будет, конечно, работать, но здесь потребуется предусмотреть два файла web.confia: один со строкой соединения, хранящийся в корневой папке, а второй с установками для обеспечения безопасности, хранящийся в закрытой папке. Существует, одиако, более простое решение, для реализации которого требуется добавить лишь несколько строк в уже существующий файл web.confia, и это позволит оставить страницу subscribe.аврх там же, где находятся все остальные. Мы располагаем возможностью задавать различные опции для обеспечения безопасности разных файлов с помощью тега <location>; это означает, что можно закрыть все файлы, как мы делали это раньше, а затем открыть анонимным пользователям доступ только К странице Subscribe.aspx:
Предыдущая << 1 .. 391 392 393 394 395 396 < 397 > 398 399 400 401 402 403 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

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

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

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

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