Идентификаторы и группы доступа

Материал из AOW

Перейти к: навигация, поиск

Каждый ресурс системы AOW–SC3, будь то дата-блок контента или какой-нибудь функциональный модуль, имеет свой уникальный идентификатор res_id. res_id состоит из двух частей, указывающих тип ресурса и числовой номер или может быть просто равным 0. Например, дата-блоки контента могут иметь следующие res_id: “co_0”, “co_21”, “co_31” или “0”, где “co” обозначает, что res_id принадлежит дата-блоку контента.

Система AOW-SC3 использует маркировку res_id для разграничения прав и задания привилегий, но если значение res_id равно “0“, то никакие специальные права для использования соответствующего ресурса не требуются, все остальные res_id требуют специальных привилегий.

Идентификаторы res_id объединяют в группы доступа для удобства работы. Группы доступа используются для задания разрешений записи/чтения относительно ресурсов системы. Пример группы доступа:

Авторизованные пользователи, имеющие доступ к новостным лентам
read + co_7 Новостная лента 1 read + co_8 Новостная лента 2 read + co_9 Новостная лента 3


Данная группа доступа содержит разрешения чтения дата-блоков контента имеющих res_id = “co_7”, “co_8” и “co_9”. Все пользователи системы, состоящие в этой группе доступа автоматически получают права чтения дата-блоков с указанными res_id. Заметим, что для удобства использования, группу доступа можно снабжать многострочным названием. Каждая группа имеет свой номер, лежащий в диапазоне от 1 до 999999. Управляет группами доступа администратор системы, имеющий соответствующие полномочия. Разрешение/запрещение доступа чтения/записи к res_id происходит в группе следующим образом, в группу записывается специальная строка:

read + res_id добавление прав на чтение res_id
read – res_id запрещение прав на чтение res_id
write + res_id добавление прав на запись res_id
write – res_id запрещение прав на запись res_id

Таких строк в группе может быть неограниченное количество, но, как правило, их требуется не больше 20. Заметим также, что запрещение прав чтения/записи является приоритетным, как это работает, будет рассмотрено далее. Каждое действующее лицо в системе может состоять в одной или нескольких группах доступа, либо не состоять в группах доступа вообще. Различают три вида действующих лиц – Администраторы (авторизовавшиеся в панели администратора), Посетители (зашедшие по специальной ссылке, либо принадлежащие определенному IP адресу), Пользователи (авторизовавшиеся по E-mail). Администратор и посетитель могут быть привязаны только к одной группе доступа, пользователь к неограниченному количеству. Заметим, что один человек может быть администратором, посетителем и пользователем одновременно, и, соответственно, может состоять в нескольких группах доступа одновременно. Рассмотрим пример: Допустим, имеется несколько групп доступа:

2 Права управления разделом “товары”
read + co_1 товары 1й кат write + co_1 товары 1й кат read + co_2 товары 2й кат write + co_2 товары 2й кат
3 Права просмотра справочников 
read + co_9 справочники
4 Права просмотра для покупателя 1й категории 
read + co_1 товары 1й кат read – co_2 товары 2й кат read – co_3 товары 3й кат


Мы авторизовались в панели администрирования, и попали в группу 2 (как администратор), но мы также являемся и пользователями системы, после авторизации как пользователи, получившие принадлежность к группам 3 и 4. Рассмотрим полученные нами права. До авторизации как пользователи мы могли просматривать и редактировать товары 1й и 2й категории (”co_1”, ”co_2”), но не могли просматривать справочники (”co_9”). Однако, после авторизации как пользователи произошли следующие изменения.

2 (r+co_1,w+co_1,r+co_2,w+co_2) + 3(r+co_9) + 4(r+co_1,r–co_2,r–co3) =
= (r+co_1,w+co_1,w+co_2,r+co_9)

Мы лишились права просматривать товары 2й категории, т.к., как было сказано ранее, права запрещения имеют больший приоритет, т.е. когда вы состоите в нескольких группах доступа, в одной из которых ”read + co_1”, а во второй ”read – co_1”, в итоге вы лишаетесь права чтения ”co_1”. Права записи без прав чтения не позволяют производить никаких действий. Для записи должны быть доступны права чтения/записи. Таким образом, у нас остались права редактирования ”co_1”, права редактирования и просмотра ”co_2” были утрачены, были получены права чтения ”co_9”.

Личные инструменты

Разработка веб-сайтов, автоматизация.
По всем вопросам обращайтесь по телефонам:

+7 495 640 29 90
http://artofweb.ru