login-redirect


Login Redirect


Das Login-Redirect-Modul leitet nicht eingeloggte Besucher automatisch zur Login-Seite weiter. So lässt sich der Zugang zu einer gesamten Subsite auf eingeloggte Nutzer beschränken – ohne komplizierte WordPress-Rollen-Konfiguration.

Allgemein

Ausnahmen definieren


Bestimmte Seiten werden von der Weiterleitung ausgenommen – mindestens die Login-Seite selbst. Weitere Ausnahmen (z. B. Impressum, Startseite, Datenschutzerklärung) können im Dashboard unter Weinhold → Login Redirect als Liste angekreuzt werden – dort erscheinen automatisch alle vorhandenen WordPress-Seiten der Site.

In der Praxis


Auf privaten Subsites im Weinhold-Netzwerk – etwa Community-Bereichen oder internen Projekten – sorgt dieses Modul dafür, dass Inhalte wirklich nur für Mitglieder sichtbar sind. Kein Shortcode, keine Anpassungen pro Seite nötig.

Dateien

modules/login_redirect.php – einzige Datei des Moduls: Weiterleitungslogik, Admin-Einstellungsseite, Cleanup.

Für Entwickler

Weiterleitungslogik


Hängt an template_redirect und greift nur, wenn der Besucher weder eingeloggt noch im Admin-Bereich ist. Die Ziel-URL kommt aus der zentral im Benutzerverwaltung-Modul konfigurierten Login-Seite (weinhold_user_management_get_auth_page_url()); ist dort keine Seite hinterlegt, dient /login/ als Fallback. Das aktuelle Ziel wird per redirect_to-Parameter an die Login-Seite angehängt (über weinhold_user_management_add_redirect_to_url(), damit derselbe Open-Redirect-Schutz wie im Benutzerverwaltung-Modul greift).

Schutz vor Redirect-Schleifen


Zwei unabhängige Sperren verhindern eine Endlosschleife: Erstens wird nicht weitergeleitet, wenn der aktuelle Pfad bereits die Login-, Registrierungs- oder Passwort-vergessen-Seite ist. Zweitens wird nicht weitergeleitet, wenn die Anfrage bereits einen redirect_to- oder redirect_url-Parameter enthält (dann läuft man vermutlich schon in einem Auth-Flow).

Zusätzlich greift das Modul gar nicht erst, wenn der Wartungsmodus aktiv ist (weinhold_maintenance_mode_settings) – dessen eigene Umleitung hat Vorrang.

Speicherung


Ausnahmeliste in der Option weinhold_login_redirect_exceptions (Array aus Seiten-Slugs, die Startseite als leerer String). Gecheckt über weinhold_path_matches_exceptions() aus den Framework-Helpern.

Besonderheiten

Betrifft nur das Frontend einer einzelnen Site (Module Scope: site) – jede Subsite konfiguriert ihre Ausnahmeliste unabhängig, es gibt keine netzwerkweite Einstellung.

allowed_redirect_hosts wird um alle Domains des Multisite-Netzwerks erweitert (gleicher Mechanismus wie im Benutzerverwaltung-Modul), damit wp_safe_redirect() auch netzwerkinterne Ziele akzeptiert.

Beim Modul-Reset werden zusätzlich mehrere Legacy-Optionen aus früheren Versionen entfernt (page_id/blog_id/site_id/login_url) – Überbleibsel einer älteren Implementierung, die die Login-Seite noch selbst verwaltete statt sie vom Benutzerverwaltung-Modul zu beziehen.

Versionshistorie

VersionDatumÄnderung
1.0.022.09.2026Einführung der Versionierung.