Meine Anwendung zeigt eine Liste von Projekten, Projektdetailseiten und Formularen zum Bearbeiten dieser Projekte an. Dies sind die Routen:
Nur der Eigentümer darf ein Projekt bearbeiten.
Ich habe einen Wähler implementiert, um den Zugriff auf / project / 42 / edit für Nichtbesitzer zu verhindern.
Nun möchte ich auch den Link "Projekt bearbeiten" auf der Projektdetailseite ausblenden. Was wäre der Weg dies zu tun? Im Idealfall möchte ich in Twig etwas wie
machen %Vor%Ich kann diese Funktion als Twig-Erweiterung implementieren, aber vielleicht existiert bereits eine ähnliche Funktionalität.
Die Funktion is_granted () hat tatsächlich einen zweiten Parameter , mit dem ich genau was machen kann Ich brauche:
%Vor%Ich benutze dies in Verbindung mit einem Check in der Controller-Aktion:
%Vor%Dies ist tatsächlich sehr ähnlich zu dem Ansatz, den nifr in seiner Antwort auf Sonata-Benutzer - Sicherheit für benutzerdefiniertes Feld . Ich hatte gehofft, einen Weg zu finden, den Wähler automatisch anzurufen und den Aufruf von isGranted () zu vermeiden.
Wenn Sie sich den kompletten Code ansehen wollen, ist es im Tutorial-Projekt, dass ich in github .