Лабораторная работа 9. Безопасность и контроль доступа в ASP.NET
Варианты:
- Создать гостевую книгу. Читать должны иметь возможность все пользователи, писать – только зарегистрированные, а удалять записи – отдельно назначенный администратор.
- Создать каталог ссылок по категориям (с помощью TreeView). Просматривать ссылки могут все пользователи, добавлять свои ссылки – зарегистрированные пользователи, удалять ссылки – пользователь с правами администратора.
- Создать сайт для доступа к таблице БД. Анонимные пользователи должны видеть только 10 первых строк таблицы, зарегистрированные – всю таблицу, администратор – редактировать, добавлять и удалять записи в таблице.
- Создать прототип интернет-магазина (страницы «выбор товара», «оформление покупки», «редактирование товаров»). Анонимные пользователи должны иметь возможность просматривать каталог товаров, зарегистрированные – добавлять товары в корзину и заходить на страницу «оформление покупки», где выводится суммарная стомиость товаров в корзине, администратор должен иметь возможность Добавлять товраы, удалять товары и редактировать цены на товары.
- Создать прототип сайта кинотеатра – страницу с составленной из контролов CheckBox картой кинотеатра, на которой анонимные пользователи – могут посмотреть свободные места на сеанс, зарегистрированные пользователи – забронировать одно или несколько мест, поставив галочки, администратор – зарезервировать места, сделав определённые контролы нередактируемыми.
- Создать премодерируемую доску объявлений, которую анонимные пользователи могут читать, зарегистрированные пользователи – давать объявления, а администратор – проверять объявления и выносить вердикт (объявление появляется на доске только после вынесения положительного вердикта модератором).
- Создать каталог ссылок по категориям (с помощью GridView). Ссылки хранить в БД. Просматривать ссылки могут все пользователи, добавлять свои ссылки – зарегистрированные пользователи, удалять ссылки – пользователь с правами администратора.
Требования:
- В лабораторной работе обязательно использовать элементы управления Login, LoginStatus, LoginView, LoginName, CreateUserWizard, ChangePassword.
- Тип аутентификации, используемой в лабораторной работе – Forms Authentication.
- В лабораторной работе обязательно использовать Membership API.
- В лабораторной работе обязательно использовать Roles API.
- для успешной сдачи лабораторной работы необходимо ответить на контрольные вопросы и вопросы по сути выполненной работы.
Контрольные вопросы:
- Опишите процедуру создания БД для использования Membership API.
- Расскажите, что такое Membership API.
- Что такое Forms Authentication?
- Что такое Windows Authentication?
- Что такое Passport Authentication?
- Что такое профиль пользователя?
- Как используется элемент управления Login?
- Как используется элемент управления LoginStatus?
- Как используется элемент управления LoginView?
- Как используется элемент управления LoginName?
- Как используется элемент управления CreateUserWizard?
- Как используется элемент управления ChangePassword?
- Каков порядок авторизации пользователя в ASP.NET?
- Каков порядок аутентификации пользователя в ASP.NET?
- Что такое авторизация?
- Что такое аутентификация?
- Что такое целостность данных?
- Что такое конфиденциальность?
Информация, с которой необходимо ознакомиться для выполнения лабораторной работы:
Лекция - Лекция 9 (Безопасность Web приложений) new 2.pptx
Дополнительная информация:
- http://msdn.microsoft.com/en-us/library/ms178329.aspx - описание элементов управления
- http://msdn.microsoft.com/en-us/library/879kf95c.aspx - туториал по созданию сайта с Membership
- http://technet.microsoft.com/ru-ru/library/cc779441%28WS.10%29.aspx – статья об авторизации в asp.net
- http://asp.dotnetheaven.com/aspnet/doc/security/login.aspx - пример использования некоторых элементов управления
- http://www.rsdn.ru/article/inet/aspnet2.xml - авторизация
- http://articles.sitepoint.com/print/asp-net-2-security - обзор средств контроля доступа в asp.net
- http://www.aspnetmania.com/Articles/Article/19.html - роли
- http://www.aspnetmania.com/Articles/Article/62.html - профили пользователей
В случае, если возникают проблемы с развёртыванием БД для Membership API:
База данных для произвольных таблиц (доступна только из ТПУ):
Data Source=KRAFTWAY.KMS.CCTPU.EDU.RU;Initial Catalog=StudyTemp;Persist Security Info=True;User ID=student;Password=stud
База данных с уже развёрнутой безопасностью (доступна только из ТПУ):
Data Source=KRAFTWAY.KMS.CCTPU.EDU.RU;Initial Catalog=StudyAuth;Persist Security Info=True;User ID=student;Password=stud