ACL - Список контроля доступа


    Введение


    В последнее время любое серьезное программное обеспечение, будь то веб-сайт или десктоп приложение требует от разработчика уделять больше внимания защите данных от несанкционированного доступа т.е. конфиденциальности. Существует такой подход ограничения доступа как ACL. Произносится - эй си эль, аббревиатура расшифровывается как Access Control List, что в переводе означает "список контроля доступа".

    Список содержит в себе правила доступа ролей к ресурсам. Под ролью подразумевается субъект, под ресурсом - объект системы в рамках которой применяется ACL. Правила доступа определяют то, какие роли имеют доступ к тем или иным ресурсам. Достигается это методом деления всех пользователей системы на роли, а её компоненты, на ресурсы.

    Пример


    Можно попробовать рассмотреть это на простом примере, на сайте установлен модуль новостей и существует 3 типа пользователей - Гость Редактор Админ. Список контроля доступом в "облегченном варианте" будет представлять из себя примерно такую таблицу:

Ресурсы\Роли Гость Редактор Администратор
Новости Чтение Чтение/Создание Чтение/Создание/Удаление


    Таким образом Гость не имеет право создавать новую новость, а редактор удалять существующие, админ может все.

    Наследование


    В этом простом примере уместнее использовать модель наследования прав доступа. Редактор имеет более высокий уровень доступа и наследует возможности пользователя т.е. может читать новости, но так же к этому списку добавляется еще одна возможность присущая именно редактору - "Создавать новость", администратор наследует права всех вышеуказанных пользователей, но имеет свою особенность - удалять новости.

    Пока это все, что касается общих понятий и целей ACL.


Раздел: Разработка Рубрика: Инструменты


Добавлена: 30-03-2009 | Пользователем: antonio | Просмотров: 1656

Комментарии

user 31-03-2009 02:48
Хоть бы кто привел пример реализации на языке программирования


Оставить комментарий



капча

Комментарий будет опубликован после проверки модератором

Для подсветки синтаксиса используйте тэги:
<pre><code class="синтаксис" >код</code></pre>
Подерживаются следующие: cpp php javascript sql html-xml css ini