ИА "Клерк.Ру". Отдел новостей /
Автор: Павел Лазарев Источник:http://www.itland-group.ru/
Регистры правил являются удобным инструментом для выборки непротиворечивой информации при сложных и/или разнообразных входных условиях. В данной статье рассматривается использование технологии регистров правил для управления правами доступа к объектам информационной базы.
Важной, а возможно, и основной функцией информационных системявляется реализация и поддержка ими некоторых систем правил,описывающих реакцию на действия пользователя, а также на другиесобытия. Системы правил, определяющие реакцию информационной системы,могут быть реализованы непосредственно в коде программ (алгоритмическийподход), либо при помощи таких механизмов как справочники, таблицы ит.п., реализующих некоторый вариант декларативного подхода. Недостатки алгоритмического подхода общеизвестны - этосложность, запутанность логики при усложнении ситуации, трудностьпонимания и модификации кода. Однако чаще всего системы строятся,базируясь именно на таком подходе, ибо он прост в реализации и удобендля программирования. Регистры правил основаны на принципе декларативного подхода креализации системы, с их помощью ситуация некоторым образомописывается, что позволяет избежать жесткого программирования поведенияинформационной системы, обеспечить легкость настройки и модификации. С практической точки зрения технология регистров правил предназначена для реализации некоторой системы правил, подходящей для решения поставленной задачи. Регистры правил позволяют описать входную ситуацию и реакцию информационной системы в виде набора правил, каждое из которых задает значение детерминанта (описание входной ситуации, ключ выборки), и корня (результата). Структура регистра правил выражает функциональную зависимость{Детерминант -> Корень}. Как детерминант, так и корень могутобладать структурой (иметь атрибуты). Атрибуты детерминанта называюттакже измерениями регистра, атрибуты корня - ресурсами.Значение корня - это кортеж значений его ресурсов. Ресурс можетявляться набором значений (множеством элементов), а также ссылкой надетерминант следующего уровня системы правил. Например, для системы контроля доступа детерминант регистра может состоять из следующих измерений: Пользователь, ТипОбъекта, ВидОбъекта, а корень иметь ресурс Доступ (булево значение, Да/Нет). Набор правил в общем случае строится по принципу уточнениявходной ситуации. Это означает, что сначала определяются правила, общиедля любых значений, а затем - правила, конкретизирующие, сужающиевходную ситуацию. Например, самым общим правилом системы контроля доступа обычноявляется правило задания политики безопасности - политика разрешенияили политика запрещения. В первом случае по умолчанию доступ запрещен,для получения разрешения необходимо выполнения некоторых условий. Вовтором - по умолчанию доступ разрешен, запрещаются лишь конкретныеситуации. При помощи регистра правил очень легко и естественно задается правило такого рода, например, для задания политики разрешения можно использовать: