Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Authentifizierung und Sitzungen

Wie Exponential erkennt, wer anfragt, für Entwickler, die Symfony-Security-Firewalls, Laravel-Guards, Django-Auth und Devise kennen - Benutzer als Inhaltsobjekte, der anonyme Benutzer, Login-Handler, Sitzungen und ihre…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/web-framework-developers/authentication-and-sessions.md

On this page

This page is a translation. Read the English original

Authentifizierung und Sitzungen

Diese Seite richtet sich an Entwickler, die eine Security-Firewall, Guards oder ein Authentifizierungs-Backend konfigurieren. In Exponential sind Benutzer Inhalte: Jeder Benutzer ist ein Inhaltsobjekt der Benutzerklasse mit einem ezuser-Feld, das Login, E-Mail-Adresse und Passwort-Hash enthält, und liegt in Benutzergruppen im Inhaltsbaum. Die Authentifizierung übernehmen das Kernel-Modul user und die Login-Handler; die Sitzung hält den angemeldeten Benutzer fest.

Inhalt

  1. Benutzer und der anonyme Benutzer
  2. Anmelden
  3. Sitzungen
  4. Anmeldung erzwingen
  5. Maschinen: API-Schlüssel und OAuth2
  6. Der aktuelle Benutzer im Code
  7. Im Vergleich mit anderen Frameworks

Benutzer und der anonyme Benutzer

KonzeptIn Exponential
Benutzermodellein Inhaltsobjekt der Benutzerklasse (site.ini [UserSettings] UserClassID, bei einer Standardinstallation 4) mit einem ezuser-Attribut; PHP-Klasse eZUser
GruppenBenutzergruppen-Objekte im Baum; Rollen werden Gruppen oder Benutzern zugewiesen
Gastein echter Benutzer, der anonyme Benutzer (site.ini [UserSettings] AnonymousUserID, bei einer Standardinstallation 10), mit einer eigenen Rolle
ProfilfelderAttribute der Benutzerklasse, die wie jeder andere Inhalt bearbeitet werden

Weil Benutzer Inhalte sind, erhalten sie Versionen, Übersetzungen ihrer Profilfelder, Berechtigungen und Suche wie jeder andere Inhalt.

Anmelden

  • Der View user/login meldet einen Benutzer an; user/logout, user/register, user/forgotpassword und user/activate tun, was ihr Name sagt.
  • Login-Handler prüfen die Zugangsdaten: site.ini [UserSettings] LoginHandler[] (standard wird mitgeliefert; LDAP und textfile stehen als Alternativen bereit). Der erste Handler, der die Zugangsdaten akzeptiert, meldet den Benutzer an. Ein eigener Handler ist ein Erweiterungspunkt (Login-Handler für Benutzer).
  • Die Anmeldung in zwei Schritten (Authenticator-App oder Code per E-Mail) stammt aus der Erweiterung sevenx_authentication_2fa, einem Login-Handler, der vor standard eingetragen wird (Anmeldung in zwei Schritten).
  • Im Code prüft eZUser::loginUser( $login, $password ) die Zugangsdaten und meldet den Benutzer an.

Sitzungen

  • Eine Sitzung hält einen Browser angemeldet. Sie endet site.ini [Session] SessionTimeout Sekunden nach ihrer letzten Nutzung (mitgeliefert: 31104000, also 360 Tage).
  • Ein leeres site.ini [Session] Handler (die Voreinstellung) bedeutet ezpSessionHandlerPHP: die Sitzungsspeicherung von PHP selbst. ezpSessionHandlerDB speichert Sitzungen in der Tabelle ezsession, sodass Setup > Sitzungen sie auflisten und entfernen kann (Sitzungen). Ein Symfony-basierter Handler (ezpSessionHandlerSymfony) kommt zum Einsatz, wenn der Kernel innerhalb von Symfony läuft.
  • Lesen und schreiben Sie Sitzungswerte über eZHTTPTool::instance() (setSessionVariable(), sessionVariable(), hasSessionVariable()), nicht direkt über $_SESSION.
  • Sitzungscookies tragen das Präfix aus [Session] SessionNamePrefix im Namen.

Anmeldung erzwingen

BedarfEinstellung
Ein ganzer Siteaccess nur für angemeldete Benutzer (die Administrationsoberfläche, ein Intranet)site.ini [SiteAccessSettings] RequireUserLogin=true für diesen Siteaccess
Views, die auf einem solchen Siteaccess ohne Anmeldung erreichbar sind[SiteAccessSettings] AnonymousAccessList[] (user/register, user/forgotpassword ...)
Anmeldung vor einem Bereich einer öffentlichen Websiteeine Request-Regel mit Action=login (Middleware)
Wer einen Siteaccess überhaupt benutzen darfdie Richtlinie user/login, eingeschränkt nach Siteaccess (Autorisierung)

Maschinen: API-Schlüssel und OAuth2

Maschinen melden sich nicht über ein Formular an. Die REST-API akzeptiert persönliche API-Schlüssel (Authorization: Bearer expk_...) und OAuth2-Tokens (POST /api/auth/v1/oauth/token); expservices hat eigene Tokens (OAuth und API-Schlüssel, Persönliche API-Schlüssel). Unabhängig von der Art der Zugangsdaten wird jeder Aufruf gegen die Richtlinien des Benutzers geprüft.

Der aktuelle Benutzer im Code

$user = eZUser::currentUser();
if ( !$user->isRegistered() ) { /* anonymous */ }
$userID = eZUser::currentUserID();

Auf der Kommandozeile und in Workern ist der Benutzer anonym, bis der Code einen Benutzer anmeldet, zum Beispiel einen eigenen Integrationsbenutzer mit eZUser::setCurrentlyLoggedInUser( $user, $user->id() ); niemals den gemeinsam genutzten Administrator (Zugriffskontrolle im Code). In Templates: fetch( 'user', 'current_user' ).

Im Vergleich mit anderen Frameworks

FrameworkKonzeptExponential
SymfonyUser-Provider, Authenticators, Firewallsdie Benutzerklasse, Login-Handler, Anmelderegeln pro Siteaccess
LaravelGuards, Provider, Sanctum-TokensSitzungsanmeldung, Login-Handler, API-Schlüssel und OAuth2 für die REST-API
DjangoUser-Modell, Authentifizierungs-BackendsBenutzerobjekte, Login-Handler
RailsDevise, has_secure_passworddas Benutzermodul und Login-Handler, eingebaut
SpringFilterkette von Spring SecurityLogin-Handler, Request-Regeln, Richtlinien

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x