суббота, 22 января 2011 г.

Zeta 3 - новая конфигурация ролей

В Zeta2 маппинг ролей описывался в файле usr/security.map.config
Возникавшие проблемы:
  1. Файл в принципе не раскладывался по уровням - нельзя было создать системный уровеньи пользовательский и совместить их
  2. Формат XML тяжел для сопровождения
  3. Множественный маппинг ролей вида FIN_OPERATOR == OPERATOR и т.п. требовал множества операций.
Вместо этого Zeta3 поддерживает BXL, который может собираться из usr/security.map.bxl и sys/security.map.bxl с продвинутым синтаксисом:

1. Простое описание роли:
role X вместо <role name="X"/>
2. Маппинг роли (используются большие буквы)
map X,Y вместо <map role="X" as="Y"/>
3. Маппинг пользователя или домена (маленькие буквы или наличие символа "/" - использовать надо кстати именно ЕГО а не "\"
map "org/ivanov",Y вместо <map user="org\ivanov" as="Y"/>
4. Сокращенный мапинг админов

admin "org/petrov" вместо <map user="org\petrov" as="ADMIN"/>
5. Массовая генерация ролей
roles "A,B", "X,Y" вместо:
<role name="A_X"/>
<role name="B_X"/>
<role name="A_Y"/>
<role name="B_Y"/>   
6. Массовое сопоставление ролей (через регулярные выражения), например, c учетом примера выше:
maps '^(.+)_(.+)$', '$2' вместо:
<map role="A_X" as="X"/>
<map role="A_Y" as="Y"/>
<map role="B_X" as="X"/>
<map role="B_Y" as="Y"/>  










Комментариев нет:

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