Презентация Урок 6. Авторизация и разграничение доступа
urok_6._avtorizaciya_i_razgranichenie_dostupa.ppt
- Размер: 236.5 Кб
- Количество слайдов: 16
Описание презентации Презентация Урок 6. Авторизация и разграничение доступа по слайдам
Авторизация и разграничение доступа Урок №
Модификация анкеты Открытая часть анкеты — ФИО — Дата рождения — Любимый актёр Закрытая часть анкеты — Телефон — email — Паспортные данные
Разграничение доступа на сайте Публичная часть — Просмотр анкет ( открытая часть анкеты ) — Просмотр материалов Закрытая часть — Редактирование материалов — Редактирование анкет — Просмотр закрытой части анкет
Роли • Администратор – управление пользовательскими учётными записями (полный контроль над ресурсом) • Пользователь – управление своей анкетой, просмотр закрытых частей анкет • …
Разграничение прав доступа к данным анкеты Просмотр данных открытой части анкеты Редактирование своей анкеты, просмотр полных анкет Редактирование любой анкеты
Схема работы ресурса Форма авторизации Администратор — Редактирование учётных записей — Редактированию любой анкеты — Просмотр закрытых частей анкет Авторизованный пользователь — Редактирование своей учётной записи — Редактированию своей анкеты — Просмотр закрытых частей анкет. Личный кабинет
Система авторизации Данные о пользователях (БД)Запрос на авторизацию ( PHP ) Функционал администратора Функционал зарегистрированного пользователя
Структура БД. Таблица пользователей ( user) id ( int ) – идентификатор пользователя status_id (int) – идентификатор статуса login (varchar) – имя пользователя password (varchar) – пароль пользователя
Модульная организация ресурса Анкеты Система управления пользовательскими записями. Модуль 1 Модуль 2 Личный кабинет Модуль
Таблица привелегий 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’] – идентификатор пользователя $_SESSION[‘status_id’] – идентификатор статуса Пример: $_SESSION[‘site_id’]=‘Students’; $_SESSION[‘site_id’]=‘my. Site’;
Авторизация Форма авторизации. Таблица user Запись данных в сессию Логин, пароль
Работа с закрытыми разделами сайта Проверка сессионных данных. Вызов скрипта Проверка уровня доступа
Модуль авторизации 1) Функция авторизации ( login ( $login, $password )) – проверка авторизационных данных, запись в сессию. 2) Функция проверки авторизации ( check. Login() ) 3) Функция проверки уровня доступа ( get. Privelegies($module_id, $status_id)) 4) Функция выхода ( logout() ) – удаляет сессионные переменные
Задача • Реализовать модуль авторизации ( функции) • Расширение анкеты – добавить в анкете новые поля «закрытая информация» . Также добавит поле связки с таблицей user. • Реализовать авторизацию на ресурсе • Реализовать раздельные права доступа: — редактирование анкеты – админ/владелец анкеты; — просмотр «закрытой информации» – только авторизованный пользователь.