В Zeta2 маппинг ролей описывался в файле usr/security.map.config
Возникавшие проблемы:
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"/>
Возникавшие проблемы:
- Файл в принципе не раскладывался по уровням - нельзя было создать системный уровеньи пользовательский и совместить их
- Формат XML тяжел для сопровождения
- Множественный маппинг ролей вида FIN_OPERATOR == OPERATOR и т.п. требовал множества операций.
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"/>
Комментариев нет:
Отправить комментарий