Zum Inhalt springen

Policies - Bearbeitung nur durch Besitzer

Erstellt am 17. März 2016 · Noch keine Antworten

Tags: Frage

Unbekannter Benutzer ·

Hallo zusammen,

ich komm bei den Policies nicht weiter.
Ich möchte bewerkstelligen, dass nur der Besitzer + Admin einen Artikel bearbeiten darf (sichtbar sollen aber alle Artikel für alle Benutzer sein).
Mit meiner aktuellen Policy erscheinen allerdings nur die Artikel deren Besitzer man ist.
Ich weiß, dass ich es nicht bei den EntityPrivilege definieren darf, sondern es zu den MethodPrivilege gehören muss, nur kriege ich es einfach nicht hin.
Ich hoffe ihr könnt mir helfen:

privilegeTargets:

  'TYPO3\Flow\Security\Authorization\Privilege\Method\MethodPrivilege':

    ### Bearbeiten von Artikeln ###
    'Nawork.GimmeUrTrash:Article':
      matcher: 'method(Nawork\GimmeUrTrash\Controller\ArticleController->(edit|update|delete)Action())'


  'TYPO3\Flow\Security\Authorization\Privilege\Entity\Doctrine\EntityPrivilege':

    ### nur für Besitzer ###
    'Nawork.GimmeUrTrash:NotOwnArticle':
      matcher: 'isType("Nawork\GimmeUrTrash\Domain\Model\Article") && !(property("user").equals("context.securityContext.account.accountIdentifier"))'


roles:
  'Nawork.GimmeUrTrash:User':
    privileges:
      - ### User dürfen prinzipiell Artikel bearbeiten ###
        privilegeTarget: 'Nawork.GimmeUrTrash:Article'
        permission: GRANT
#      - ### User dürfen nur ihre eigenen Artikel bearbeiten ###
#        privilegeTarget: 'Nawork.GimmeUrTrash:NotOwnArticle'
#        permission: DENY

  'Nawork.GimmeUrTrash:Admin':
    privileges:
      - ### Admins dürfen prinzipiell Artikel bearbeiten ###
        privilegeTarget: 'Nawork.GimmeUrTrash:Article'
        permission: GRANT
      - ### Admins dürfen auch Artikel bearbeiten wenn sie nicht die Besitzer sind ###
        privilegeTarget: 'Nawork.GimmeUrTrash:NotOwnArticle'
        permission: GRANT