andaris: User Berechtigungen im Framework

Beitrag lesen

Generell kann entweder die Controller-Action selber auf das Userobjekt zugreifen und so Berechtigungen übeprüfen

Wie kann ich mir das vorstellen. Einfaches anwendungsbespiel (Hardcoden) reicht mir voll und ganz.

Wenn im Controller Zugriff auf das Benutzerobjekt besteht, könnte zB ein AuthorizationChecker die Rechteüberprüfung basierend auf dem aktuellen Benutzer vornehmen. Im Symfony-Framework sieht das beispielsweise so aus:

<?php

class ExampleController
{
    public function secureAction()
    {
        if (!$this->get('security.authorization_checker')->isGranted('ROLE_USER')) {
            throw new \Exception('Access Denied.');
        }

        // [...]
    }
}

oder die Controller-Actions haben Metadaten (wobei ich den Namen eher schlecht finde, um Rechte abzubilden);

Das gleiche gilt auch hier. Einfaches Hardcoden bitte.

Beispiel vom jms/security-extra-bundle:

<?php

use JMS\SecurityExtraBundle\Annotation\PreAuthorize;

class ExampleController
{
    /** @PreAuthorize("hasRole('ROLE_USER')) */
    public function secureAction()
    {
        // [...]
    }
}

LG andaris