Введение в ASP.NET Active Server Pages Подготовка занятия: А.Д.Фирсов, phirsof@mail.ru Контроль качества: К.В.Рундуев, runduev@yahoo.com.

Презентация:



Advertisements
Похожие презентации
Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
Advertisements

Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – локализация ресурсов приложения Из цикла лекций «Технологии.
Лекция 2 Раздел 2.1 Windows Phone Темы раздела 3.
Веб-технологии и современные средства разработки УЦ ВГТУ & SoftLine Academy.
Г. Москва, тел.: +7 (495) , Internet: Слайды курса «Администрирование работы на сервере.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – обработка ошибок страниц и приложения, Global.aspx.
Система усиленной аутентификации по отпечатку пальца.
ДонНУ, кафедра КТ, проф.В.К.Толстых WCF-службы Создание и тестирование.dll-библиотеки WCF-служб Из цикла лекций «Internet-технологии разработки приложений»
1. Определить последовательность проезда перекрестка
Тема 5. Основы современной технологии программирования Программирование в средах современных информационных систем. Интегрированные системы разработки.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – директивы Из цикла лекций «Технологии разработки Internet-приложений»
Единая система аутентификации Обзор решения Москва, 2012г.
Троицкий Д.И. Интернет-технологии1 ДИНАМИЧЕСКИЕ WEB-СТРАНИЦЫ СЕРВЕРНЫЕ СЦЕНАРИИ Лекция 9 Кафедра «Автоматизированные станочные системы» Dept. of Automated.
БИТЕК «Бизнес-инжиниринговые технологии» г. Москва, тел.: (495) , Internet: Учебный.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – валидация, валидационные элементы управления Из цикла.
Проектирование архитектуры ИСО 1. UML 2 Структура определения языка 4.
С использованием Visual Basic for Application. Выберем предмет, тему, сформулируем вопросы и зададим по 4 варианта ответов (можно и больше), из них выберем.
© 2007 Cisco Systems, Inc. All rights reserved.SMBE v Cisco SMB University for Engineers Настройка маршрутизаторов Cisco с интегрированными услугами.
Лекция 3 Раздел 3,1 Windows Phone Темы раздела 3.
Powerpoint Templates Page 1 Язык разметки гипертекста HTML.
Транксрипт:

Введение в ASP.NET Active Server Pages Подготовка занятия: А.Д.Фирсов, Контроль качества: К.В.Рундуев,

Курс SE MSF.NET Введение в ASP.NET 2 План занятия План занятия Платформа.NET Framework Платформа.NET Framework ASP.NET в действии ASP.NET в действии Возможности ASP.NET Возможности ASP.NET Создание приложения Создание приложения с помощью текстового редактора с помощью текстового редактора с помощью WebMatrix с помощью WebMatrix Структура ASPX-файла Структура ASPX-файла Cерверные контролы Cерверные контролы Валидация данных в приложении Валидация данных в приложении Безопасность в ASP.NET Безопасность в ASP.NET

Курс SE MSF.NET Введение в ASP.NET классов MS.NET Framework Строки и даты Строки и даты Массивы и коллекции типов Массивы и коллекции типов Потоки и файлы Потоки и файлы Графические интерфейсы (GUI) Графические интерфейсы (GUI) Данные (ADO.NET) Данные (ADO.NET) Internet (ASP.NET) Internet (ASP.NET)

Курс SE MSF.NET Введение в ASP.NET 4 Базовые классы ASP.NET Пространство имен в.NET Framework для ASP.NET Web applications и XML Web services включает: System.Web –классы и интерфейсы, которые отвечают за взаимодействие web-браузера и web-сервера. Классы из этого пространства имен обеспечивают HTTP передачу клиенту (HttpResponse) и чтение HTTP запросов (HttpRequest). Другие классы предназначены для обеспечения работы сервера, действий с cookie, передачи файлов, обработки исключительных ситуаций System.Web –классы и интерфейсы, которые отвечают за взаимодействие web-браузера и web-сервера. Классы из этого пространства имен обеспечивают HTTP передачу клиенту (HttpResponse) и чтение HTTP запросов (HttpRequest). Другие классы предназначены для обеспечения работы сервера, действий с cookie, передачи файлов, обработки исключительных ситуаций System.Web.UI –классы для создания Web Form pages, включает Page class и другие стандартные классы, используемые при создании пользовательского Web интерфейса System.Web.UI –классы для создания Web Form pages, включает Page class и другие стандартные классы, используемые при создании пользовательского Web интерфейса System.Web.UI.HtmlControls –классы для создания HTML элементов на Web форме System.Web.UI.HtmlControls –классы для создания HTML элементов на Web форме System.Web.UI.WebControls –классы для создания серверных контролов System.Web.UI.WebControls –классы для создания серверных контролов System.Web.Services – классы, необходимые для создания и использования XML Web-сервисов System.Web.Services – классы, необходимые для создания и использования XML Web-сервисов

Курс SE MSF.NET Введение в ASP.NET 5 ASP.NET в действии Сервер Сервер Данные (HTTP) Клиент Клиент Запрос Ответ

Курс SE MSF.NET Введение в ASP.NET 6 ASP.NET в действии На стороне пользователя Web Browser Форма Данные

Курс SE MSF.NET Введение в ASP.NET 7 ASP.NET в действии На стороне сервера 1. Обработка полученных данных (исполнение соответствующего кода написанного на одном из языков программирования) 2. Генерация Веб-страницы согласно полученным данным

Курс SE MSF.NET Введение в ASP.NET 8 ASP.NET в действии И снова на стороне пользователя Сгенерированная в ответ на запрос страница

Курс SE MSF.NET Введение в ASP.NET 9 Компиляция кода страниц ASP.NET производит компиляцию ASPX страниц ASP.NET производит компиляцию ASPX страниц При компиляции для каждой страницы или группы страниц создается сборка (assembly), содержащая MSIL код. Перед исполнением код страницы компилируется в исполняемый код При компиляции для каждой страницы или группы страниц создается сборка (assembly), содержащая MSIL код. Перед исполнением код страницы компилируется в исполняемый код Единица компиляции - вызываемый метод (JIT- компиляция). Компиляцией занимается.NET Framework Единица компиляции - вызываемый метод (JIT- компиляция). Компиляцией занимается.NET Framework С точки зрения Framework скомпилированная ASPX страница - это обычная сборка, содержащая несколько классов, поддерживающих определенные интерфейсы) С точки зрения Framework скомпилированная ASPX страница - это обычная сборка, содержащая несколько классов, поддерживающих определенные интерфейсы) После JIT-компиляции происходит кеширование исполняемого кода. Последующие обращения к этому методу происходят напрямую После JIT-компиляции происходит кеширование исполняемого кода. Последующие обращения к этому методу происходят напрямую

Курс SE MSF.NET Введение в ASP.NET 10 Первый запрос страницы ASP.NET определяет, требуется ли компиляция страницы. Если нет сохраненной сборки или страница изменена, то производятся две последовательные операции: ASP.NET определяет, требуется ли компиляция страницы. Если нет сохраненной сборки или страница изменена, то производятся две последовательные операции: разбор (parsing) страницы с генерацией исходного кодаразбор (parsing) страницы с генерацией исходного кода компиляция кода страницы и сохранение полученной сборкикомпиляция кода страницы и сохранение полученной сборки Если страница была скомпилирована (для нее есть соответствующая сборка), то данная сборка используется в качестве обработчика запрошенной страницы (повторная компиляция не происходит) Если страница была скомпилирована (для нее есть соответствующая сборка), то данная сборка используется в качестве обработчика запрошенной страницы (повторная компиляция не происходит)

Курс SE MSF.NET Введение в ASP.NET 11 Сode behind файлы Код может храниться не только в страницах, но и в code behind файлах Код может храниться не только в страницах, но и в code behind файлах Сode behind файлы должны быть заранее скомпилированы и размещены в папке BIN или глобальном кеше сборок (GAC - Global Assembly Cache) Сode behind файлы должны быть заранее скомпилированы и размещены в папке BIN или глобальном кеше сборок (GAC - Global Assembly Cache) Использование code behind файлов является идеологически правильным способом, так как позволяет добиться разделения кода и представления Использование code behind файлов является идеологически правильным способом, так как позволяет добиться разделения кода и представления Впрочем можно использовать и компиляцию ASPX страниц Впрочем можно использовать и компиляцию ASPX страниц

Курс SE MSF.NET Введение в ASP.NET 12 ASP.NET Что общее у ASP и ASP.NET – имя. В остальном – это разные технологии, построенные на разных принципах Что общее у ASP и ASP.NET – имя. В остальном – это разные технологии, построенные на разных принципах В основе ASP.NET лежит новая платформа.NET Framework В основе ASP.NET лежит новая платформа.NET Framework Основными языками программирования выбраны C# и VB, вместо бывших скриптовых языков в ASP Основными языками программирования выбраны C# и VB, вместо бывших скриптовых языков в ASP Теперь мы можем писать ASP страницы и на других языках Теперь мы можем писать ASP страницы и на других языках

Курс SE MSF.NET Введение в ASP.NET 13 Возможности ASP.NET Автоматическая перекомпиляция кода и оптимизация выполнения Автоматическая перекомпиляция кода и оптимизация выполнения Использование стандартных библиотек Использование стандартных библиотек Использование ADO.NET Использование ADO.NET Поддержка средств разработки (VS.NET) Поддержка средств разработки (VS.NET) Языковая независимость Языковая независимость

Курс SE MSF.NET Введение в ASP.NET 14 Возможности ASP.NET Поддержка многопроцессорных систем Поддержка многопроцессорных систем Обработка ошибок Обработка ошибок Объектно-ориентированная разработка (С#,VB) Объектно-ориентированная разработка (С#,VB) Повторное использование кода (пейджлеты (pagelets), новая концепция установки (bin)) Повторное использование кода (пейджлеты (pagelets), новая концепция установки (bin))

Курс SE MSF.NET Введение в ASP.NET 15 Схема взаимодействия ASP.NET с ОС Вебформы ASP.NET: страницы и веб-сервисы Интерфейс ASP.NET приложений MS.NET Framework Операционная система

Курс SE MSF.NET Введение в ASP.NET 16 Установка ASP.NET Системные требования Системные требования Операционная система с NT ядром и IIS/Peer- Web-Services (Win NT4 SP 6, Win 2K SP4, Win XP) Операционная система с NT ядром и IIS/Peer- Web-Services (Win NT4 SP 6, Win 2K SP4, Win XP) Инсталляция SDK Инсталляция SDK ASP.NET распространяется как составная часть.NET SDK - сборника всех технологий, необходимых для создания, сборки и тестирования приложений, основанных на.NET Framework ASP.NET распространяется как составная часть.NET SDK - сборника всех технологий, необходимых для создания, сборки и тестирования приложений, основанных на.NET Framework Перед установкой ASP.NET необходимо установить Internet Explorer 6 Internet Explorer 6

Курс SE MSF.NET Введение в ASP.NET 17 Создание приложения с помощью текстового редактора 1. Создайте папку, в которой будет находиться ваше приложение. Пусть это будет С:\SampleApplication. После этого запустите IIS. Создайте на вашем сервере новую виртуальную директорию: CustomApp 2. В мастере создания виртуального приложения укажите имя и путь к приложению: С:\SampleApplication. Права можно оставить предложенными по умолчанию 3. В созданной папке создайте файл Default.aspx следующего содержания:

Курс SE MSF.NET Введение в ASP.NET 18 Содержимое файла Default.aspx // Код на языке C#, подключаем файл Default.aspx.cs

Курс SE MSF.NET Введение в ASP.NET 19 Создадим файл Default.aspx.cs со следующим кодом: using System; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public class Default : Page { protected Button btnHello; protected Button btnHello; protected Label lblMessage; protected Label lblMessage; protected TextBox txtName; protected TextBox txtName; override protected void OnInit( EventArgs e ) override protected void OnInit( EventArgs e ) { btnHello.Click += new System.EventHandler(this.btnHello_Click); btnHello.Click += new System.EventHandler(this.btnHello_Click); } private void btnHello_Click( object sender, EventArgs e ) private void btnHello_Click( object sender, EventArgs e ) { lblMessage.Text = "Hello, " + txtName.Text; lblMessage.Text = "Hello, " + txtName.Text; }}

Курс SE MSF.NET Введение в ASP.NET 20 Последний штрих и … Компилируем файл Default.aspx.cs командой csc /target:library Default.aspx.cs С оздан файл Default.aspx.dll Создаем подпапку bin в папке приложения и копируем в нее.dll-файл Чтобы увидеть результат, открываем в браузере страницу:

Курс SE MSF.NET Введение в ASP.NET 21 Использование MS ASP.NET WebMatrix На прошлом занятии вы познакомились с WebMatrix в качестве HTML редактора На прошлом занятии вы познакомились с WebMatrix в качестве HTML редактора Но в первую очередь WebMatrix - это визуальная среда для разработки приложений ASP.NET, использующая всю мощь встроенных языков C# и VB Но в первую очередь WebMatrix - это визуальная среда для разработки приложений ASP.NET, использующая всю мощь встроенных языков C# и VB

Курс SE MSF.NET Введение в ASP.NET 22 Снова HelloWorld Рассмотрим пример создания приложения при помощи WebMatrix 1.Запускаем WebMatrix 2.Создаем файл Hello.aspx 3.На страницу Design помещаем Web контролы Label и Button, размещаем их в центре, один под другим, очищаем свойство Text для контрола Label, для Button устанавливаем свойства Text: HelloWorld, и Width: 100

Курс SE MSF.NET Введение в ASP.NET 23 ToolBox редактора и страничка Design

Курс SE MSF.NET Введение в ASP.NET 24 Автоматически сгенерированный HTML код нашего приложения

Курс SE MSF.NET Введение в ASP.NET 25 А теперь займемся программированием 1. Создадим обработчик события OnClick двойным щелчком по кнопке на форме. На странице Code появится процедура: void Button1_Click(object sender, EventArgs e) { } 2. Между фигурными скобками вставим следующий код: if (Label.Text == "Hello, world!") Label.Text = ""; if (Label.Text == "Hello, world!") Label.Text = ""; else Label.Text = "Hello, world!"; else Label.Text = "Hello, world!"; if (Button1.Text == "") Button1.Text = "Hello, world!"; if (Button1.Text == "") Button1.Text = "Hello, world!"; else Button1.Text = ""; else Button1.Text = "";

Курс SE MSF.NET Введение в ASP.NET 26 Получим файл hello.aspx (страница All) void Button1_Click(object sender, EventArgs e) { void Button1_Click(object sender, EventArgs e) { if (Label.Text == "Hello, world!") Label.Text = ""; if (Label.Text == "Hello, world!") Label.Text = ""; else Label.Text = "Hello, world!"; else Label.Text = "Hello, world!"; if (Button1.Text == "") Button1.Text = "Hello, world!"; if (Button1.Text == "") Button1.Text = "Hello, world!"; else Button1.Text = ""; } else Button1.Text = ""; }

Курс SE MSF.NET Введение в ASP.NET 27 Запускаем приложение 1. Нажимаем F5 2. В появившемся окне нажимаем кнопку Start

Курс SE MSF.NET Введение в ASP.NET 28 Приложение в действии Приложение в действии Нажми на кнопку получишь результат

Курс SE MSF.NET Введение в ASP.NET 29 HTML код на стороне клиента HTML код на стороне клиента Hello, world! Hello, world!

Курс SE MSF.NET Введение в ASP.NET 30 Структура ASPX-файла ASPX-файл содержит HTML, помимо которого можно использовать специальные теги ASPX-файл содержит HTML, помимо которого можно использовать специальные теги Дополнительные теги делятся на две категории: Дополнительные теги делятся на две категории: служебные, задающие параметры страницы и позволяющие внедрять код (например,,,... ) служебные, задающие параметры страницы и позволяющие внедрять код (например,,,... ) теги контролов, которые представляют собой новые интерфейсные конструкции, настройка которых инкапсулирована в тег (общий вид:... ) теги контролов, которые представляют собой новые интерфейсные конструкции, настройка которых инкапсулирована в тег (общий вид:... )

Курс SE MSF.NET Введение в ASP.NET 31 Разделение кода и представления Разделение кода и представления Важной особенностью ASP.NET является простое разделение кода и представления Важной особенностью ASP.NET является простое разделение кода и представления В ASP.NET, благодаря объектно- ориентированной архитектуре, при генерации класса страницы он наследуется от указанного класса, в котором находится вся логика. Это позволяет писать логику страницы в файле класса, а интерфейс - в.aspx-файле В ASP.NET, благодаря объектно- ориентированной архитектуре, при генерации класса страницы он наследуется от указанного класса, в котором находится вся логика. Это позволяет писать логику страницы в файле класса, а интерфейс - в.aspx-файле

Курс SE MSF.NET Введение в ASP.NET 32 Пример такого разделения: Пример такого разделения: Separate.aspx Separate.aspx Separate.cs Separate.cs using System; using System; using System.Web; using System.Web; using System.Web.UI; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls; public class Separate : Page public class Separate : Page { protected Label lblMessage; { protected Label lblMessage; protected Button btnSubmit; protected Button btnSubmit; public void btnSubmit_Click( object sender, EventArgs e ) public void btnSubmit_Click( object sender, EventArgs e ) { lblMessage.Text = "Hello, world"; }} { lblMessage.Text = "Hello, world"; }}

Курс SE MSF.NET Введение в ASP.NET 33 Обработка событий в ОС Windows Сообщение ОС Очередь сообщений Обработчик события Событие

Курс SE MSF.NET Введение в ASP.NET 34 Обработка событий в вебформах ASP.NET Передача на Web Server Сообщение MS.NET Framework Обработчик события Действие на вебформе Событие

Курс SE MSF.NET Введение в ASP.NET 35 Cерверные контролы (controls) Способ инкапсуляции части системы как на уровне логики, так и на уровне представления Способ инкапсуляции части системы как на уровне логики, так и на уровне представления на уровне логики каждый контрол инкапсулирован в отдельный класс на уровне логики каждый контрол инкапсулирован в отдельный класс на уровне представления - в тег на уровне представления - в тег Взаимодействие с контролами возможно по трем "каналам" Взаимодействие с контролами возможно по трем "каналам" изменение свойств изменение свойств вызов методов вызов методов обработка сообщений обработка сообщений

Курс SE MSF.NET Введение в ASP.NET 36 Пример контрола Код страницы: Обратите внимание: Серверные элементы должны находится внутри тега Они оформляются в XML-стиле У них должен быть атрибут runat="server"

Курс SE MSF.NET Введение в ASP.NET 37 Валидация данных в приложении Валидация инкапсулиорована в серверные контролы Валидация инкапсулиорована в серверные контролы Каждый валидатор представляет собой контрол, который проверяет значение другого контрола на соответствие определенному условию перед отсылкой формы и по прибытии ее на сервер Каждый валидатор представляет собой контрол, который проверяет значение другого контрола на соответствие определенному условию перед отсылкой формы и по прибытии ее на сервер Для валидации на клиенте используется JavaScript-код (если JavaScript не поддерживается, валидация производится только на сервере) Для валидации на клиенте используется JavaScript-код (если JavaScript не поддерживается, валидация производится только на сервере) Если проверка не прошла, валидатор выводит сообщение об ошибке Если проверка не прошла, валидатор выводит сообщение об ошибке

Курс SE MSF.NET Введение в ASP.NET 38 Пример использования валидатора В редакторе WebMatrix создаем новый файл form_validation.aspx В редакторе WebMatrix создаем новый файл form_validation.aspx На страницу Design помещаем поле ввода TextBox, валидатор RequiredFieldValidator (устанавливаем в свойствах: объект проверки - TextBox1, текст сообщения выдаваемого в результате ошибки ввода - You must enter text in control!, отображать - динамически ), добавляем кнопку Button и Все На страницу Design помещаем поле ввода TextBox, валидатор RequiredFieldValidator (устанавливаем в свойствах: объект проверки - TextBox1, текст сообщения выдаваемого в результате ошибки ввода - You must enter text in control!, отображать - динамически ), добавляем кнопку Button и Все

Курс SE MSF.NET Введение в ASP.NET 39 Пример использования валидатора Форма выглядит следующим образом: Форма выглядит следующим образом:

Курс SE MSF.NET Введение в ASP.NET 40 Пример использования валидатора Файл form_validation.aspx содержит код:

Курс SE MSF.NET Введение в ASP.NET 41 Пример использования валидатора Нажатием клавиши F5 запускаем наше приложение Нажатием клавиши F5 запускаем наше приложение Теперь, если не ввести текст в поле ввода и нажать кнопку, то данные серверу переданы не будут, а на странице появится сообщение о необходимости ввода текста Теперь, если не ввести текст в поле ввода и нажать кнопку, то данные серверу переданы не будут, а на странице появится сообщение о необходимости ввода текста.

Курс SE MSF.NET Введение в ASP.NET 42 Безопасность в ASP.NET Приложения, хранящие конфиденциальную информацию, необходимо защищать от атак злоумышленников и от конкурентов, пытающихся похитить информацию или интеллектуальную собственность Приложения, хранящие конфиденциальную информацию, необходимо защищать от атак злоумышленников и от конкурентов, пытающихся похитить информацию или интеллектуальную собственность Проектируя модель защиты своего приложения, Вы должны знать Проектируя модель защиты своего приложения, Вы должны знать бизнес-требования к безопасностибизнес-требования к безопасности учитывать ограничения, налагаемые выбранной моделью защиты на производительность,масштабируемость и развертываниеучитывать ограничения, налагаемые выбранной моделью защиты на производительность,масштабируемость и развертывание

Курс SE MSF.NET Введение в ASP.NET 43 Безопасность в ASP.NET Если Вы разрабатываете серверное приложение, в его спецификацию следует включить раздел, посвященный защите. В функциональной спецификации приложения нужно рассмотреть и, возможно, решить следующие вопросы:

Курс SE MSF.NET Введение в ASP.NET 44 Безопасность в ASP.NET Задачи защиты Задачи защиты Риски Риски Аутентификация Аутентификация Авторизация Авторизация Защита передачи данных Защита передачи данных Делегирование Делегирование Олицетворение (impersonation) Олицетворение (impersonation) Защита средствами операционной системы Защита средствами операционной системы Физическая защита Физическая защита Защита по правам доступа кода (code access security) Защита по правам доступа кода (code access security)

Курс SE MSF.NET Введение в ASP.NET 45 Безопасность в ASP.NET Проектируя приложение, Вы должны понимать связь между аутентификацией IIS и архитектурой защиты ASP.NET. Тогда Вы сможете правильно аутентифицировать пользователей и получать корректный контекст защиты в приложении. Обратите внимание, что параметры защиты ASP.NET- приложения и IIS не связаны между собой и могут использоваться как независимо друг от друга, так и в сочетании Проектируя приложение, Вы должны понимать связь между аутентификацией IIS и архитектурой защиты ASP.NET. Тогда Вы сможете правильно аутентифицировать пользователей и получать корректный контекст защиты в приложении. Обратите внимание, что параметры защиты ASP.NET- приложения и IIS не связаны между собой и могут использоваться как независимо друг от друга, так и в сочетании IIS хранит параметры конфигурации, связанные с защитой, в метабазе. ASP.NET хранит параметры защиты в конфигурационных XML-файлах. Соответственно выбранная в приложении модель защиты потребует правильной настройки как метабазы IIS, так и вашего ASP.NET- приложения (через его конфигурационный файл Web.config) IIS хранит параметры конфигурации, связанные с защитой, в метабазе. ASP.NET хранит параметры защиты в конфигурационных XML-файлах. Соответственно выбранная в приложении модель защиты потребует правильной настройки как метабазы IIS, так и вашего ASP.NET- приложения (через его конфигурационный файл Web.config) Взаимосвязь между IIS и ASP.NET показана на следующем слайде Взаимосвязь между IIS и ASP.NET показана на следующем слайде

Курс SE MSF.NET Введение в ASP.NET 46 Web-клиент Запустить ASP.NET приложение Доступ закрыт IP адрес и домен валидны? НЕТ Пользователь аутентифицирован? НЕТ ДА IIS ASP.NET

Курс SE MSF.NET Введение в ASP.NET 47 Web-клиент ASP.NET приложение запущено с идентификацией локальной машины ASP.NET присватвает идентификатор клиенту ДА НЕТ Доступ закрыт ASP.NET impersonation установлено? Доступ разрешен? Выполнить ASP.NET приложение

Курс SE MSF.NET Введение в ASP.NET 48 Провайдеры аутентификации ASP.NET В ASP.NET аутентификация осуществляется на основе провайдеров аутентификации, которые представляют собой модули кода, проверяющие удостоверения и реализующие прочие функции защиты, например, генерацию cookie ASP.NET поддерживает следующие провайдеры аутентификации: Forms Authentication (аутентификация на основе форм). При применении этого провайдера все неаутентифицированные запросы перенаправляются на указанную HTML-форму путем клиентской переадресации. После этого пользователь может ввести свои учетные данные (удостоверения защиты) и отправить форму обратно на сервер. Если приложение аутентифицирует запрос (логика проверки специфична для конкретного приложения), ASP.NET генерирует cookie, содержащий удостоверения или ключ для повторного получения идентификации клиента. Последующие запросы содержат этот cookie в своем заголовке, поэтому никакая аутентификация больше не требуется Forms Authentication (аутентификация на основе форм). При применении этого провайдера все неаутентифицированные запросы перенаправляются на указанную HTML-форму путем клиентской переадресации. После этого пользователь может ввести свои учетные данные (удостоверения защиты) и отправить форму обратно на сервер. Если приложение аутентифицирует запрос (логика проверки специфична для конкретного приложения), ASP.NET генерирует cookie, содержащий удостоверения или ключ для повторного получения идентификации клиента. Последующие запросы содержат этот cookie в своем заголовке, поэтому никакая аутентификация больше не требуется Passport Authentication (аутентификация через Passport). Это централизованная служба аутентификации, предоставляемая Microsoft и предлагающая участвующим сайтам механизмы единой Michael Howard регистрации и подписки на сервисы. ASP.NET в сочетании с Microsoft Passport SDK предлагает пользователям Passport функциональность, аналогичную Forms Authentication Passport Authentication (аутентификация через Passport). Это централизованная служба аутентификации, предоставляемая Microsoft и предлагающая участвующим сайтам механизмы единой Michael Howard регистрации и подписки на сервисы. ASP.NET в сочетании с Microsoft Passport SDK предлагает пользователям Passport функциональность, аналогичную Forms Authentication Windows Authentication (аутентификация через Windows). Этот провайдер пользуется возможностями IIS. После того как IIS проводит аутентификацию, ASP.NET использует маркер аутентифицированной идентификации для авторизации доступа Windows Authentication (аутентификация через Windows). Этот провайдер пользуется возможностями IIS. После того как IIS проводит аутентификацию, ASP.NET использует маркер аутентифицированной идентификации для авторизации доступа

Курс SE MSF.NET Введение в ASP.NET 49 Активация аутентификации В файле web.сonfig конфигурируется элемент, который находится внутри пары В файле web.сonfig конфигурируется элемент, который находится внутри пары Формат :, Формат :, SELECTED_MODE принимает значения: None - ASP.NET аутентификация отключенаSELECTED_MODE принимает значения: None - ASP.NET аутентификация отключена Windows - аутентификация через NT user/groupWindows - аутентификация через NT user/group Cookie - аутентификация на основе cookies.Cookie - аутентификация на основе cookies. Passport - аутентификация через оболочку, предоставляемую Passport SDK (должна быть установлена)Passport - аутентификация через оболочку, предоставляемую Passport SDK (должна быть установлена)

Курс SE MSF.NET Введение в ASP.NET 50 Аутентификация на основе форм ASP.NET поддерживает два типа авторизации: ASP.NET поддерживает два типа авторизации: проверка ACL(Access Control List) и прав доступа к ресурсампроверка ACL(Access Control List) и прав доступа к ресурсам URL авторизация - проверяет права доступа к части сетиURL авторизация - проверяет права доступа к части сети Элемент в web.сonfig файле в ASP.NET позволяет разработчику управлять настройками Cookie, который будет сохранен у клиента. Элемент в web.сonfig файле в ASP.NET позволяет разработчику управлять настройками Cookie, который будет сохранен у клиента. Атрибуты Атрибуты decriptionkey - ключ для шифрования;decriptionkey - ключ для шифрования; autogenerate - автоматически назначает системный ключ. При распространении аутентификации на несколько машин ключ вводится вручную;autogenerate - автоматически назначает системный ключ. При распространении аутентификации на несколько машин ключ вводится вручную; loginurl - URL страницы, куда будут пересылаться неаутенфицированные пользователи (перенаправление будет происходить, даже если запрашиваемый ресурс по указанному адресу ресурс не существует. Лишь после аутентификации вы увидите ошибку 404: The resource cannot be found)loginurl - URL страницы, куда будут пересылаться неаутенфицированные пользователи (перенаправление будет происходить, даже если запрашиваемый ресурс по указанному адресу ресурс не существует. Лишь после аутентификации вы увидите ошибку 404: The resource cannot be found) cookie - имя cookie для данного приложенияcookie - имя cookie для данного приложения

Курс SE MSF.NET Введение в ASP.NET 51 Аутентификация на основе форм Для аутентификации мы Для аутентификации мы принимаем данные пользователяпринимаем данные пользователя сверяем их с требуемыми значениямисверяем их с требуемыми значениями вызваем CookieAuthentication.RedirectFromLoginPage(string UserName,bool CreatePersistentCookie)вызваем CookieAuthentication.RedirectFromLoginPage(string UserName,bool CreatePersistentCookie) UserName - имя пользователя, необходимое для Cookie аутентификации, UserName - имя пользователя, необходимое для Cookie аутентификации, CreatePersistentCookie. true - cookie записывается "надолго" у клиента, причем сохраняется и после прерывания сессии. False - используется SessionCookie, (только на время сессии) CreatePersistentCookie. true - cookie записывается "надолго" у клиента, причем сохраняется и после прерывания сессии. False - используется SessionCookie, (только на время сессии) Пример: void Login_Click(Object sender, EventArgs E) { if ((UserLogin.Value == "DotSiteTeam") && (UserPassword.Value == "BestITResource")) { CookieAuthentication.RedirectFromLoginPage(UserLogin.Value,t rue); } else { //вывод сообщения о неправильно введенных данных} } void Login_Click(Object sender, EventArgs E) { if ((UserLogin.Value == "DotSiteTeam") && (UserPassword.Value == "BestITResource")) { CookieAuthentication.RedirectFromLoginPage(UserLogin.Value,t rue); } else { //вывод сообщения о неправильно введенных данных} } Пользователь опознан, и при обращении к страницам приложения не будет происходить переадресация на указанную нами ранее в web.config login.aspx

Курс SE MSF.NET Введение в ASP.NET 52 Аутентификация на основе форм Для большего контроля над cookies можно использовать методы Для большего контроля над cookies можно использовать методы CookieAuthentication.GetAuthCookie(string UserName,bool CreatePersistentCookie). Разработчик может получать данные о cookieCookieAuthentication.GetAuthCookie(string UserName,bool CreatePersistentCookie). Разработчик может получать данные о cookie CookieAuthentication.SetAuthCookie(string UserName,bool CreatePersistentCookie). Установка требуемых значенийCookieAuthentication.SetAuthCookie(string UserName,bool CreatePersistentCookie). Установка требуемых значений В ASP.NET можно хранить имена и пароли пользователя в конфигурационных файлах приложения. В ASP.NET можно хранить имена и пароли пользователя в конфигурационных файлах приложения. СookieAuthentication.Authenticate(string UserName, string UserPassword) - проверка передаваемых данных на корректность.СookieAuthentication.Authenticate(string UserName, string UserPassword) - проверка передаваемых данных на корректность. Необходимо включить элемент внутрь элемента. MODE принимает одно из следующих значений:Clear, SHA1, MD5Необходимо включить элемент внутрь элемента. MODE принимает одно из следующих значений:Clear, SHA1, MD5

Курс SE MSF.NET Введение в ASP.NET 53 Пример web.сonfig:

Курс SE MSF.NET Введение в ASP.NET 54 ASP.NET на примере Посетите сайт IbuySpy, расположенный по адресу Посетите сайт IbuySpy, расположенный по адресу Этот ресурс представляет собой магазин для шпионов. Этот ресурс представляет собой магазин для шпионов. Сайт хорошо документирован. Все исходные тексты выложены для открытого доступа, причем как на Visual Basic.NET, так и на С#. Сайт хорошо документирован. Все исходные тексты выложены для открытого доступа, причем как на Visual Basic.NET, так и на С#. На сайте существует форум, на котором можно задать вопросы как самим создателям продукта, так и другим завсегдатаям сайта На сайте существует форум, на котором можно задать вопросы как самим создателям продукта, так и другим завсегдатаям сайта Посмотрите также article_id=35&tabid=3.htm (пример одностраничного портала) article_id=35&tabid=3.htm article_id=35&tabid=3.htm

Курс SE MSF.NET Введение в ASP.NET 55 ASP.NET хостинг Испытания вашего ASP.NET-приложения можно провести на локальной машине но куда интереснее сделать это в Сети. Зарегистрируйтесь и разместите свои приложения. Пользователям предоставляются директория hosting.gotdotnet.ru/, 20 Мбайт дискового пространства, база данных объемом до 10 Мбайт и FTP-доступ. См. также: См. также:

Курс SE MSF.NET Введение в ASP.NET 56 Заключение На смену ASP пришла новая технология ASP.NET На смену ASP пришла новая технология ASP.NET ASP.NET использует всю мощь платформы.NET Framework ASP.NET использует всю мощь платформы.NET Framework Для написания кода достаточно знать язык C# Для написания кода достаточно знать язык C#

Курс SE MSF.NET Введение в ASP.NET 57 Вопросы для закрепления материала На чем основаны преимущества ASP.NET над другими технологиями? На чем основаны преимущества ASP.NET над другими технологиями? Перечислите основные возможности ASP.NET Перечислите основные возможности ASP.NET Опишите схему взаимодействия ASP.NET с ОС Опишите схему взаимодействия ASP.NET с ОС Опишите требования к инсталляции ASP.NET Опишите требования к инсталляции ASP.NET Что такое aspx-файл? Что такое aspx-файл? На какие группы делятся дополнительные тэги? На какие группы делятся дополнительные тэги? Поясните необходимость в разделении кода и представлении Поясните необходимость в разделении кода и представлении Опишите обработку событий в вебформах ASP.NET Опишите обработку событий в вебформах ASP.NET Что такое серверные контролы? Что такое серверные контролы? Что такое валидация? Что такое валидация?

Курс SE MSF.NET Введение в ASP.NET 58 Вопросы на экзамен Создание Web-приложений с помощью Web Forms Создание Web-приложений с помощью Web Forms Создание и использование Web- контролов Создание и использование Web- контролов Создание и использование Web- сервисов Создание и использование Web- сервисов Передача сложных типов и структур данных при обращении к Web-сервису Передача сложных типов и структур данных при обращении к Web-сервису

Курс SE MSF.NET Введение в ASP.NET 59 Учебник по ASP.NET Учебник по ASP.NET The Official Microsoft ASP.NET Site The Official Microsoft ASP.NET Site Ссылки

Курс SE MSF.NET Введение в ASP.NET 60 В качестве фона к слайдам использовано изображение космического аппарата Океан-О. Такие спутники изготавливает расположенный в Днепропетровске завод ЮМЗ