Um eine oder mehrere Aktionen (Schließen, Abonnieren) nur bestimmten Usern zugänglich zu machen, möchte ich über eine Reihe von Ticket ACLs diese Gruppen zuordnen, im Sinne von:
rw-Berechtigung auf Gruppe Schließen erlaubt Aktion Schließen
rw-Berechtigung auf Gruppe Abonnieren erlaubt Aktion Abonnieren
etc.
Diese Berechtigungen sollen unabhängig voneinander sein, da ich ein sehr flexibles Berechtigungskonzept brauche. Die Bindung der Aktionen an Queues wäre sehr umständlich, da ich mit sehr vielen Queues arbeite.
Frage: Was genau bewirkt das Parameter hinter der Aktion, also z.B. AgentTicketClose => 0 bzw. => 1? Schaltet es die Aktion? Dann könnte eine Lösung so aussehen:
Code: Select all
# ticket acl - remove action 'Close' for all
$Self->{TicketAcl}->{'NoClose'} = {
# match properties
Properties => {
# current ticket match properties (match always)
},
# remove options (black list)
PossibleNot => {
# possible ticket options
Action => {
AgentTicketClose => 1,
},
},
};
# ticket acl - allow action 'Close' for group 'Close'
$Self->{TicketAcl}->{'AllowClose'} = {
# match properties
Properties => {
# current ticket match properties
User => {
Group_rw => [
'Close',
],
},
},
# return possible options (white list)
PossibleNot => {
# possible ticket options
Action => {
AgentTicketClose => 0,
},
},
};
Nebenfrage: Lassen sich auch Queue-Gruppen per ACL ansprechen? In der Art:
Code: Select all
Queue => ['Masterqueue::*'],
Vielen Dank schon mal!
Daniel