Skip to main content

Was ist Authentifizierung

Authentifizierung ist der Vorgang, mit dem festgestellt wird, wer der zugreifende Benutzer ist. In Webanwendungen nimmt ein Login-Formular E-Mail und Passwort entgegen und speichert bei korrekten Angaben die Benutzerinformationen in der Session. Bei nachfolgenden Anfragen wird der Benutzer über diese Session identifiziert. Die Authentifizierung in Laravel basiert auf zwei Konzepten: „Guards” und „Providers”.
  • Guards: Definieren, wie Benutzer bei jeder Anfrage authentifiziert werden. Der Standard ist der session-Guard, der Zustand über Session und Cookies verwaltet.
  • Providers: Definieren, wie Benutzer aus der Datenbank abgerufen werden. Der Standard nutzt Eloquent.
Die Konfigurationsdatei für die Authentifizierung ist config/auth.php. Für die meisten Webanwendungen reicht die Standardkonfiguration aus.

Authentifizierung per Starter Kit

Wenn Sie eine Anwendung mit laravel new erstellen und ein Starter Kit auswählen, werden Login, Registrierung, Passwort-Reset und weitere Auth-Funktionen automatisch erzeugt. Das ist der empfohlene Weg.
1

Anwendung erstellen

Legen Sie die Anwendung mit dem Laravel Installer an. Unterwegs erscheint eine Auswahl für das Starter Kit.
Als Starter Kit stehen React, Vue, Livewire und Svelte zur Auswahl. Wählen Sie es entsprechend Ihres Tech-Stacks aus.
2

Frontend-Abhängigkeiten installieren

3

Datenbank vorbereiten

Prüfen Sie die Datenbank-Konfiguration in .env und führen Sie die Migrationen aus.
Die initialen Migrationen einschließlich der Tabelle users werden angewendet.
4

Entwicklungsserver starten

Wenn Sie im Browser http://localhost:8000 aufrufen, sehen Sie in der Navigation die Links „Register” und „Log in”. Rufen Sie /register auf und registrieren Sie einen Benutzer.
Mit einem Starter Kit stehen Ihnen sofort die folgenden Funktionen zur Verfügung:
Der vom Starter Kit erzeugte Code (Controller, Routen, Views) liegt vollständig in Ihrer eigenen Anwendung. Sie können ihn frei anpassen.

Verfügbare Starter Kits

React

Baut eine moderne SPA mit React 19, TypeScript, Tailwind und shadcn/ui. Dank Inertia behalten Sie das serverseitige Routing bei und nutzen gleichzeitig ein React-Frontend.

Vue

Setzt auf die Vue Composition API, TypeScript, Tailwind und shadcn-vue. Wie bei React wird Inertia zur Verbindung mit dem Server verwendet.

Livewire

Verwendet Livewire, sodass Sie dynamische UIs allein mit PHP aufbauen. Ideal für Teams, die auf Blade-Templates fokussiert sind oder ohne JavaScript-Framework auskommen möchten. Enthält die Komponentenbibliothek Flux UI.

Svelte

Verwendet Svelte 5, TypeScript, Tailwind und shadcn-svelte. In Kombination mit Inertia bauen Sie eine moderne SPA.

Die Auth-Facade

Mit der Facade Auth rufen Sie Informationen des aktuell angemeldeten Benutzers ab und prüfen dessen Authentifizierungsstatus.

Angemeldeten Benutzer abrufen

In Controllern lässt sich der Benutzer auch über das Request-Objekt abrufen.

Authentifizierungsstatus prüfen

Auth::check() liefert true/false, je nachdem ob ein Benutzer angemeldet ist.
In Blade-Templates sind die Direktiven @auth und @guest praktisch.

Routen schützen

Um Routen ausschließlich für angemeldete Benutzer zugänglich zu machen, verwenden Sie die Middleware auth.
Nicht angemeldete Nutzer werden automatisch zu /login weitergeleitet. Um mehrere Routen gleichzeitig zu schützen, verwenden Sie eine Gruppe.
Wenn Sie die Middleware auth vergessen, können nicht angemeldete Benutzer zugreifen. Wenden Sie sie unbedingt auf jede schützenswerte Route an.

Routen nur für Gäste

Um bereits angemeldete Benutzer weiterzuleiten, verwenden Sie die Middleware guest. Wenden Sie sie zum Beispiel auf Login- oder Register-Seiten an, damit bereits eingeloggte Benutzer ans Dashboard geleitet werden.

Manuelle Authentifizierung

Wenn Sie ohne Starter Kit selbst einen Login umsetzen, nutzen Sie Auth::attempt().
Übergeben Sie Auth::attempt() als erstes Argument ein Array mit Anmeldedaten. Das Passwort wird automatisch gegen den Hash verglichen – übergeben Sie es also im Klartext. Um „Angemeldet bleiben” zu unterstützen, übergeben Sie im zweiten Argument true.
Auch bei manueller Umsetzung sollten Sie den Code aus dem Starter Kit als Referenz für eine sichere Implementierung nutzen.

Logout

Zum Ausloggen rufen Sie Auth::logout() auf. Zusätzlich sollten Sie die Session invalidieren und das CSRF-Token neu generieren.
Verwenden Sie für die Route die POST-Methode.
In Blade-Templates senden Sie den POST-Request per Formular.

Zusammenfassung

Nächste Schritte

Middleware

Lernen Sie die Funktionsweise der auth-Middleware und wie Sie eigene Middleware schreiben.
Zuletzt geändert am 13. Juli 2026