Лабораторная работа 9. Безопасность и контроль доступа в ASP.NET

Варианты:

  1. Создать гостевую книгу. Читать должны иметь возможность все пользователи, писать – только зарегистрированные, а удалять записи – отдельно назначенный администратор.
  2. Создать каталог ссылок по категориям (с помощью TreeView). Просматривать ссылки могут все пользователи, добавлять свои ссылки – зарегистрированные пользователи, удалять ссылки – пользователь с правами администратора.
  3. Создать сайт для доступа к таблице БД. Анонимные пользователи должны видеть только 10 первых строк таблицы, зарегистрированные – всю таблицу, администратор – редактировать, добавлять и удалять записи в таблице.
  4. Создать прототип интернет-магазина (страницы «выбор товара», «оформление покупки», «редактирование товаров»). Анонимные пользователи должны иметь возможность просматривать каталог товаров, зарегистрированные – добавлять товары в корзину и заходить на страницу «оформление покупки», где выводится суммарная стомиость товаров в корзине, администратор должен иметь возможность Добавлять товраы, удалять товары и редактировать цены на товары.
  5. Создать прототип сайта кинотеатра – страницу с составленной из контролов CheckBox картой кинотеатра, на которой анонимные пользователи – могут посмотреть свободные места на сеанс, зарегистрированные пользователи – забронировать одно или несколько мест, поставив галочки, администратор – зарезервировать места, сделав определённые контролы нередактируемыми.
  6. Создать премодерируемую доску объявлений, которую анонимные пользователи могут читать, зарегистрированные пользователи – давать объявления, а администратор – проверять объявления и выносить вердикт (объявление появляется на доске только после вынесения положительного вердикта модератором).
  7. Создать каталог ссылок по категориям (с помощью GridView). Ссылки хранить в БД. Просматривать ссылки могут все пользователи, добавлять свои ссылки – зарегистрированные пользователи, удалять ссылки – пользователь с правами администратора.

 

 

Требования:

  1. В лабораторной работе обязательно использовать элементы управления Login, LoginStatus, LoginView, LoginName, CreateUserWizard, ChangePassword.
  2. Тип аутентификации, используемой в лабораторной работе – Forms Authentication.
  3. В лабораторной работе обязательно использовать Membership API.
  4. В лабораторной работе обязательно использовать Roles API.
  5. для успешной сдачи лабораторной работы необходимо ответить на контрольные вопросы и вопросы по сути выполненной работы.

 

Контрольные вопросы:

    • Опишите процедуру создания БД для использования 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