Настройка ACLs для отдельных ролей.

Запросы на решение проблем

Модератор: ykolesnikov

Ответить
avk
OTRS Новобранец
Сообщения: 11
Зарегистрирован: 01 ноя 2010, 10:56

Настройка ACLs для отдельных ролей.

Сообщение avk » 14 ноя 2010, 13:02

Необходимо назначить специфические ACLs для конкретной роли агента.
Можно ли это сделать?

ULiX
OTRS Новобранец
Сообщения: 45
Зарегистрирован: 12 окт 2010, 08:56
Контактная информация:

Re: Настройка ACLs для отдельных ролей.

Сообщение ULiX » 17 ноя 2010, 04:34

Роль назначает права в группах.
Опираясь на группы можно назначить ACL.

Прямого назначения ACL для роли не предусмотрено. (по крайней мере до используемой мною версии 2.4.7).

Следуя выше сказанному можно сделать следующее.
Создать новую группу: myaclgroup
Создать роль: myrole
Для примера дать роли myrole права rw в группе myaclgroup
Далее делаем ACL для всех агентов имеющих права rw в группе myaclgroup

Код: Выделить всё

    $Self->{TicketAcl}->{'ACL-Name-1'} = {
        # match properties
        Properties => {
                User => {
                        Group_rw => [ 'myaclgroup'],
                },
                Ticket => {
                    Queue => ['Общая'],
                }
        },
        PossibleNot => {
                # possible ticket options
                Ticket => {
                        State => ['closed successful', 'closed unsuccessful'],
                        Queue => ['Общая'],
                },
        },
    };
Заметь, что создав одну такую группу можно создать разнообразное число правил в зависимости от числа возможных разрешений.
По умолчанию имеем 7 возможных разрешений:
ro; move_into; create; note; owner; priority; rw.

К примеру можно проверять наличие двух разрешений в одной группе одновременно:

Код: Выделить всё

                User => {
                        Group_rw => [ 'myaclgroup'],
                        Group_create => [ 'myaclgroup'],
                },
Выборка двух из семи элементов. Число размещений семи элементов по двум позициям.

Код: Выделить всё

     n!                 7!             6 * 7
-----------   =   ------------   =   ---------  =  21
  m!*(n-m)!        2! * (7-2)!           2 
Если комбинировать по 3 или 4 разрешения из семи то получим
5*6*7/2*3 = 35 комбинаций.

Такой механизм позволит делать активным ACL как при настройке прав для ролей (что обеспечит групповое изменение правил), так и для отдельного агента настройками индивидуальных прав в группах.
Последний раз редактировалось ULiX 18 ноя 2010, 07:44, всего редактировалось 1 раз.
Я не флудер, у меня просто не получаются маленькие посты.

avk
OTRS Новобранец
Сообщения: 11
Зарегистрирован: 01 ноя 2010, 10:56

Re: Настройка ACLs для отдельных ролей.

Сообщение avk » 17 ноя 2010, 07:54

Отлично! Очень помогло!
Спасибо за основательный ответ.

Ответить