Реферат 1 Введение 3 Аналитическая часть 5
Скачать 1.24 Mb.
|
Разработка системы ролей и её интеграция с общей программной системойРеализация ядра системы ролейНа основании описанной выше архитектуры приложения, в системе был реализован модуль системы управления ролями. Была реализована проверка доступа на уровне HTTP-запроса (фильтр) и предоставлены возможности удобной (в плане написания программного кода) проверки доступа из представлений модулей. Реализации самих проверок в представлениях – это задачи реализации соответствующих модулей системы. Платформа ASP.NET MVC предоставляет удобную систему событий, связанных с выполнением HTTP-запросов. В частности, для реализации фильтра ролевой системы рассмотрены методы обработки событий непосредственно перед выполнением соответствующего запросу действия контроллера. С помощью этой системы событий реализован специальный атрибут AFuncName. Атрибут (в C#) – это специальная возможность метаинформации в коде, предоставляющая какое-то поведение или какую-то характеристику декларативного характера соответствующему этому атрибуту элементу кода - классу, методу, свойству класса и т.д. Более того, реализаций такого атрибута удалось решить сразу 2 задачи: осуществление фильтра и задачу назначения методу специального абстрактного названия (как было описано в теоретической части). Также был реализован способ проверки доступа к функциям из представлений. Предполагается условное деление «активного» пользовательского интерфейса (т.е. тех элементов, которые непосредственно отвечают за переход по ссылкам) на одиночные элементы (кнопка) и на списки (например, блок меню). Реализованы эффективные возможности проверок и тех, и других. Реализация модуля администрирования ролямиДля разработанной системы ролей предоставлен инструмент управлениями разрешениями. Этот инструмент является полноценным модулем автоматизированной системы обучения и контроля знаний. Модуль реализован в соответствии с MVC-паттерном и трёхслойной архитектурой приложения. Слои доступа к данным и бизнес-логики являются общими с реализованной системой ролей. Представления используют AngularJS для более удобного связывания моделей данных. Модуль состоит из трёх основных страниц: управление пользователями (добавление и удаление в группы), управление группами (добавление и удаление ролей группам), управление ролям (связывание с функциями). Также добавлена возможность добавления пользователя на этапе верификации заявки на регистрацию главным администратором автоматизированной системы обучения и контроля знаний. Скриншоты реализованного модуля представлены в приложении C. КлассыВ данном разделе приводится описание классов, реализующих систему ролей. Интерфейс IRoleManager Основной интерфейс бизнес-логики системы ролей.
Интерфейс IRoleManagerSaver Интерфейс сохранения информации о сделанных изменениях в системе ролей.
Интерфейс IEntityRoleManager Вспомогательный интерфейс, обрабатывает доступ к действию над сущностью.
Интерфейс IRolesRepository Основной интерфейс доступа к данным системы ролей.
Атрибут AFuncName Атрибут, используемый для пометки метода контроллера специальным именем и привязки метода обработки события (непосредственно перед вызовом помечаемого).
|