- Symfony TodoApp – Projekt mit Git + Github erstellen
- Symfony TodoApp – TodosController erstellen
- Symfony TodoApp – Twig Template anpassen
- Symfony Todo App – Bootstrap Styles hinzufügen
- Symfony Todo App – TodosController: Create Route hinzufügen
- Symfony Todo App – Datenbankverbindung erstellen
- Symfony Todo App – Entity + Repository erstellen
- Symfony Todo App – TodoItems aus TablePlus Tabelle anzeigen
- Symfony todo App – Formular für Erstellen von TodoItems erzeugen
- Symfony Todo App – Formular für Bearbeiten von TodoItems erzeugen
- Symfony TodoApp – Löschen-Funktion für TodoItems erzeugen
- Symfony TodoApp – Login + Registrierung hinzufügen
Wir möchten das Erstellen, Bearbeiten und Löschen von TodoItems nur erlauben, wenn ein User Rechte dafür hat.
Symfony bietet dafür eine Security Komponente, die das Registrieren und den Login von Usern vereinfacht und den Zugriff auf bestimmte Routen einschränken kann.
composer require security
Wir erstellen eine User Entity und Repository:
php bin/console make:user User
Wir erstellen eine neue Migration-Datei, damit die Tabelle User in der Datenbank erstellt werden kann.
php bin/console make:migration
Jetzt aktualisieren wir unsere Datenbank mit der User-Tabelle mit:
php bin/console doctrine:migrations:migrate
Jetzt können wir die Registrierungsform zum Registrieren von Usern erstellen:
php bin/console make:registration-form
Anschließend registrieren wir einen User über das neue Registrierungs-Formular:
Der neue User ist in der Tabelle User in TablePlus sichtbar:
Das Formular zum Einloggen sieht wie folgt aus:
Nach erfolgreichem Login leiten wir zu der Route mit dem Namen „app_todos.index“ weiter.
In der „security.yaml“ Konfigurationsdatei im config-Verzeichnis können wir neben der Weiterleitung beim Logout auch den Zugriff auf Routen für bestimmte User-Rollen beschränken (unter dem Eintrag „access_control“).