2017-08-30 2 views
0

J'ai cette règle:Comment puis-je écrire une condition dans une règle du fichier ACL, si je travaille avec des tableaux?

rule Viewer { 
    description: "Allow the viewer read access to his assigned assets" 
    participant(v): "org.biz.app.Viewer" 
    operation: READ 
    resource(d): "org.biz.app.Activo" 
    condition: (v.getIdentifier() === d.viewers.getIdentifier()) 
    action: ALLOW 
} 

et dans le fichier modèle:

asset Activo identified by acitvoId { 
    o String activoId 
    o String activoName 
    o Integer version 
    o DateTime startDate 
    o DateTime endDate 
    --> Author owner 
    --> Viewer[] viewers optional 
} 

Ce que je veux que la règle soit que le spectateur ne reçoit que l'accès en lecture aux actifs qu'il est affecté à . Le:

v.getIdentifier(); 

renvoie l'identifiant du spectateur, et je veux le comparer avec le tableau des téléspectateurs dans l'actif:

--> Viewer[] viewers optional 

si le viewerid est dans le tableau, le spectateur a un accès en lecture . Comment puis-je écrire cette règle?

Répondre