Необходимо назначить специфические ACLs для конкретной роли агента.
Можно ли это сделать?
Настройка ACLs для отдельных ролей.
Модератор: ykolesnikov
Re: Настройка ACLs для отдельных ролей.
Роль назначает права в группах.
Опираясь на группы можно назначить ACL.
Прямого назначения ACL для роли не предусмотрено. (по крайней мере до используемой мною версии 2.4.7).
Следуя выше сказанному можно сделать следующее.
Создать новую группу: myaclgroup
Создать роль: myrole
Для примера дать роли myrole права rw в группе myaclgroup
Далее делаем ACL для всех агентов имеющих права rw в группе myaclgroup
Заметь, что создав одну такую группу можно создать разнообразное число правил в зависимости от числа возможных разрешений.
По умолчанию имеем 7 возможных разрешений:
ro; move_into; create; note; owner; priority; rw.
К примеру можно проверять наличие двух разрешений в одной группе одновременно:
Выборка двух из семи элементов. Число размещений семи элементов по двум позициям.
Если комбинировать по 3 или 4 разрешения из семи то получим
5*6*7/2*3 = 35 комбинаций.
Такой механизм позволит делать активным ACL как при настройке прав для ролей (что обеспечит групповое изменение правил), так и для отдельного агента настройками индивидуальных прав в группах.
Опираясь на группы можно назначить 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
5*6*7/2*3 = 35 комбинаций.
Такой механизм позволит делать активным ACL как при настройке прав для ролей (что обеспечит групповое изменение правил), так и для отдельного агента настройками индивидуальных прав в группах.
Последний раз редактировалось ULiX 18 ноя 2010, 07:44, всего редактировалось 1 раз.
Я не флудер, у меня просто не получаются маленькие посты.