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

Содержание

Слайд 2

Модификация анкеты

Открытая часть анкеты
- ФИО
- Дата рождения
- Любимый актёр

Закрытая часть анкеты
Телефон

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

Слайд 3

Разграничение доступа на сайте

Публичная часть
Просмотр анкет (открытая часть анкеты)
Просмотр материалов

Закрытая

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

Слайд 4

Роли

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

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

Слайд 5

Разграничение прав доступа к данным анкеты

Просмотр данных открытой части анкеты

Редактирование своей анкеты,

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

просмотр полных анкет

Редактирование любой анкеты

Слайд 6

Схема работы ресурса

Форма авторизации

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

Авторизованный

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

Личный кабинет

Слайд 7

Система авторизации

Данные о пользователях (БД)

Запрос на авторизацию
(PHP)

Функционал администратора

Функционал зарегистрированного пользователя

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

Слайд 8

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

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

login (varchar) – имя пользователя
password (varchar) – пароль пользователя

Слайд 9

Модульная организация ресурса

Анкеты

Система управления пользовательскими записями

Модуль 1

Модуль 2

Личный кабинет

Модуль 3

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

Слайд 10

Таблица привелегий

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)

Слайд 11

Авторизация через сессии

Авторизационная форма

Запись данных в сессию

Закрытый раздел сайта

Запрос

Проверка сессионных данных

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

Слайд 12

Переменные в сесcии

$_SESSION[‘site_id’] – маркер ресурса
$_SESSION[‘is_logged’] – пользователь залогинен
$_SESSION[‘user_id’] – идентификатор пользователя
$_SESSION[‘status_id’]

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

Слайд 13

Авторизация

Форма авторизации.

Таблица user

Запись данных в сессию

Логин, пароль

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

Слайд 14

Работа с закрытыми разделами сайта

Проверка сессионных данных

Вызов скрипта

Проверка уровня доступа

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

Слайд 15

Модуль авторизации

Функция авторизации (login($login,$password)) – проверка авторизационных данных, запись в сессию.
Функция проверки

Модуль авторизации Функция авторизации (login($login,$password)) – проверка авторизационных данных, запись в сессию.
авторизации (checkLogin())
Функция проверки уровня доступа (getPrivelegies($module_id,$status_id))
Функция выхода (logout()) – удаляет сессионные переменные