Скачать презентацию Авторизация и разграничение доступа Урок 6 Скачать презентацию Авторизация и разграничение доступа Урок 6

Урок 6. Авторизация и разграничение доступа.ppt

  • Количество слайдов: 16

Авторизация и разграничение доступа Урок № 6 Авторизация и разграничение доступа Урок № 6

Модификация анкеты - ФИО - Дата рождения - Любимый актёр Открытая часть анкеты Закрытая Модификация анкеты - ФИО - Дата рождения - Любимый актёр Открытая часть анкеты Закрытая часть анкеты - Телефон - email - Паспортные данные

Разграничение доступа на сайте Публичная часть - Просмотр анкет (открытая часть анкеты) - Просмотр Разграничение доступа на сайте Публичная часть - Просмотр анкет (открытая часть анкеты) - Просмотр материалов Закрытая часть -Редактирование материалов - Редактирование анкет - Просмотр закрытой части анкет

Роли • Администратор – управление пользовательскими учётными записями (полный контроль над ресурсом) • Пользователь Роли • Администратор – управление пользовательскими учётными записями (полный контроль над ресурсом) • Пользователь – управление своей анкетой, просмотр закрытых частей анкет • …

Разграничение прав доступа к данным анкеты Просмотр данных открытой части анкеты Редактирование своей анкеты, Разграничение прав доступа к данным анкеты Просмотр данных открытой части анкеты Редактирование своей анкеты, просмотр полных анкет Редактирование любой анкеты

Схема работы ресурса Форма авторизации Авторизованный пользователь Администратор -Редактирование учётных записей - Редактированию любой Схема работы ресурса Форма авторизации Авторизованный пользователь Администратор -Редактирование учётных записей - Редактированию любой анкеты -Просмотр закрытых частей анкет Личный кабинет -Редактирование своей учётной записи - Редактированию своей анкеты - Просмотр закрытых частей анкет

Система авторизации Запрос на авторизацию (PHP) Функционал администратора Данные о пользователях (БД) Функционал зарегистрированного Система авторизации Запрос на авторизацию (PHP) Функционал администратора Данные о пользователях (БД) Функционал зарегистрированного пользователя

Структура БД. Таблица пользователей (user) id (int)– идентификатор пользователя status_id (int) – идентификатор статуса Структура БД. Таблица пользователей (user) id (int)– идентификатор пользователя status_id (int) – идентификатор статуса login (varchar) – имя пользователя password (varchar) – пароль пользователя

Модульная организация ресурса Модуль 2 Модуль 1 Система управления пользовательскими записями Анкеты Модуль 3 Модульная организация ресурса Модуль 2 Модуль 1 Система управления пользовательскими записями Анкеты Модуль 3 Личный кабинет

Таблица привелегий status_id (int) – Статус Module_id (int)– модуль (скрипт/набор скриптов относящийся к определённому Таблица привелегий status_id (int) – Статус Module_id (int)– модуль (скрипт/набор скриптов относящийся к определённому функционал) Grant (int) – уровень прав (1 – есть права доступа, нет прав доступа) Пример: (1, 1, 1) – администратор имеет уровень прав 1 к модулю анкет (module_id=1) (2, 1, 2) – авторизованный пользователь имеет уровень прав 2 к модулю анкет (module_id=1)

Авторизация через сессии Авторизационная форма Запрос Проверка сессионных данных Запись данных в сессию Закрытый Авторизация через сессии Авторизационная форма Запрос Проверка сессионных данных Запись данных в сессию Закрытый раздел сайта

Переменные в сесcии $_SESSION[‘site_id’] – маркер ресурса $_SESSION[‘is_logged’] – пользователь залогинен $_SESSION[‘user_id’] – идентификатор Переменные в сесcии $_SESSION[‘site_id’] – маркер ресурса $_SESSION[‘is_logged’] – пользователь залогинен $_SESSION[‘user_id’] – идентификатор пользователя $_SESSION[‘status_id’] – идентификатор статуса Пример: $_SESSION[‘site_id’]=‘Students’; $_SESSION[‘site_id’]=‘my. Site’;

Авторизация Форма авторизации. Логин, пароль Таблица user Запись данных в сессию Авторизация Форма авторизации. Логин, пароль Таблица user Запись данных в сессию

Работа с закрытыми разделами сайта Вызов скрипта Проверка сессионных данных Проверка уровня доступа Работа с закрытыми разделами сайта Вызов скрипта Проверка сессионных данных Проверка уровня доступа

Модуль авторизации 1) Функция авторизации (login($login, $password)) – проверка авторизационных данных, запись в сессию. Модуль авторизации 1) Функция авторизации (login($login, $password)) – проверка авторизационных данных, запись в сессию. 2) Функция проверки авторизации (check. Login()) 3) Функция проверки уровня доступа (get. Privelegies($module_id, $status_id)) 4) Функция выхода (logout()) – удаляет сессионные переменные

Задача • Реализовать модуль авторизации (функции) • Расширение анкеты – добавить в анкете новые Задача • Реализовать модуль авторизации (функции) • Расширение анкеты – добавить в анкете новые поля «закрытая информация» . Также добавит поле связки с таблицей user. • Реализовать авторизацию на ресурсе • Реализовать раздельные права доступа: - редактирование анкеты – админ/владелец анкеты; - просмотр «закрытой информации» – только авторизованный пользователь.