BC/NW 2011; №2 (19):11.3
СОЗДАНИЕ СОЦИАЛЬНОЙ
СЕТИ, ОСНОВАННОЙ НА СЕМАНТИЧЕСКОЙ СЕТИ С ЭЛЕМЕНТАМИ СЕТЕЙ ПЕТРИ В АСПЕКТЕ
ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ
Матвеев В.С.
(Национальный исследовательский университет «МЭИ», Россия)
Данный доклад относится к направлению «Сетевые технологии», поскольку
рассказывает об использовании семантических сетей и сетей Петри при разработке
социальной сети.
Данная работа была проделана, чтобы спроектировать структуру социальной
сети. Для этого в рамках этой работы было выполнено следующее:
- проработана логика проекта;
- создана база данных;
- написан действующий каркас в среде .net;
- осуществлена интеграция системы посредством веб-интерфейса.
Были также рассмотрены ключевые аспекты работы социальных сетей.
Изучена структура наиболее популярных из них. Проделан анализ их структур и
API.
В результате анализа была выработана методология, в соответствии с
которой была сформирована модель социальной сети. В основе этой модели был
заложен неориентированный граф и написан алгоритм, по которому подобная сеть
может функционировать.
Результатом работы является действующая модель социальной сети.
Аутентификация пользователя в системе.
Для того чтобы персонифицировать пользователя в системе необходимо
авторизовать его на его персональной странице. Для этого при первой загрузке
система выдаст форму для входа в систему. Затем ему потребуется ввести его
уникальное имя и пароль, который он может установить для своего аккаунта.
В случае, если пользователь не зарегистрирован
в системе, ему необходимо пройти регистрацию, где он сможет вписать своё
уникальное имя (или прямо сразу свой почтовый ящик), а также другие важные
поля.
После входа в систему или прохождения регистрации устанавливается
авторизованная сессия с использованием инструментов Cookie. Иными словами,
после прохождения авторизации система генерирует уникальный идентификатор
сессии, который затем сохраняется в браузере. Поэтому в дальнейшем, до тех пор,
пока пользователь сам не завершит текущую сессию, любое его обращение к своей
персональной странице будет удачно. В случае, когда пользователь выйдет из
системы, любое его обращение к своей странице будет перенаправлено на форму
авторизации. Аналогично же и обратное утверждение: когда пользователь
попытается зайти на форму авторизации, он автоматически будет перенаправлен на
свою персональную страницу.
Рис. 1. Диаграмма вариантов использования для
пользователя сети
Работа пользователя в системе
На своей персональной странице пользователь должен иметь следующий обязательный
функционал:
1. Переход на персональные страницы
друзей.
2. Поиск и добавление друзей.
3. Возможность оставлять комментарии.
4. Возможность менять своё изображение.
5. Возможность оставлять фотографии.
6. Возможность искать группы.
7. Возможность оставлять записи в
группах.
Структура базы данных имеет следующие таблицы:
Рис. 2. Логическая модель структуры базы
данных
Реализация алгоритма Сети Петри при обработке
В данной работе Сети Петри используются для
ограничения доступа пользователей с отсутствием грантов к конфиденциальной
информации.
Согласно схеме, описанной в теоретической
части:
Рис. 3. Пример построения сети Петри
Реализован функционал «Разрешений члена группы» на получение грантов.
Рассмотрим на примере:
В данном примере авторизация произведена активным членом группы. Он
видит как постоянных членов группы (синий, фиолетовый), так и новых (красных),
которые хотя уже и вступили в группу, но не имеют максимальных прав.
В свою очередь он может давать гранты «красным» пользователям – по
одному гранту каждому такому пользователю.
Когда у «красного» пользователя станет достаточно грантов (в конкретном
случае это равняется трём, исходя из схемы выше), сеть Петри срабатывает, и
разрешает пользователю доступ к информации.
Количество необходимых грантов для получения информации зависит от свойств группы – необходимое число грантов может равняться 1 или
больше.
Стоит также заметить, что в каждой группе права у участников заданы
независимо от других групп. Что бы участвовать в группах, необходимо получать
гранты от других активных членов каждой из групп.
Информация о выданном гранте заносится в базу, и содержится там до тех
пор, пока не наберётся нужное количество грантов от разных пользователей для
авторизации в заданной группе. После срабатывания сети Петри информация о
грантах не нужна, т.к. пользователь приобретает более «привилегированный»
статус – не нужные данные затираются в базе.
Литература
1. Максим
Шатилов. Инструменты для социальных сетей http://www.osp.ru/os/2008/04/5114182/
2.
Приложения для социальных сетей
http://www.intuit.ru/department/internet/webtechno/36/
3.
Блог, посвящённый семантическим сетям
http://habrahabr.ru/blogs/sw/
4.
Котов
В.Е. Сети Петри. М.: Изд. Наука. Главная редакция физ.-мат. литературы, 1984.
5.
ВКонтакте
API – форум для разработчиков приложений для
социальной сети http://vkontakte.ru/club1
6.
Портал
Микрософт, посвящённый платформе .NET
http://www.microsoft.com/net/
7.
Роберт
Тейбор. Реализация XML Web-служб на платформе Microsoft .NET. м.: Изд. Вильямс,
2002.
8.
Мэтью
Мак-Дональд, Марио Шпушта, Microsoft ASP.NET 3.5 с примерами на C# 2008 и
Silverlight 2 для профессионалов. Изд. Apress, 2008.