Login / Status
developer.Resource
Home . Documentation . Document Library . Tutorials
Sponsors
hosted by punkt.deTYPO3 and Open Source Magazine

1.5. Passwort-geschützte Seiten

Nun wissen Sie, wie Sie Seiten erzeugen und bearbeiten! War doch gar nicht so schwer, oder? Ganz schön einfach, mit TYPO3 ein Webmaster zu werden. Später zeige ich Ihnen sogar noch, wie Sie diese Arbeit delegieren können! Denn eine Aufgabe eine CMS ist auch, viele Benutzer zu verwalten, die an derselben Website arbeiten, mit voller Kontrolle über Zugriffsrechte usw. Aber das wird erst am Ende dieses Dokuments beschrieben.

Die eine Sache ist es, Webseiten für die ganze Welt sichtbar zu machen. Was aber, wenn wir nur einem Teil der Welt erlauben wollen, sie zu sehen - unseren Kollegen aus dem Fußballteam? Können wir einen Passwortschutz einbauen?

Genau das wurde für Sie schon bei der Website des "FC Bigfeet" erledigt:

Diese Seiten im Page Tree sind im Frontend tatsächlich nur dann abrufbar, wenn Sie mit einem Benutzernamen und Passwort angemeldet sind!

Anmeldung

Wenn Sie sich anmelden wollen, gehen Sie auf die Seite "Log in":

Geben Sie als Benutzer "john" und als Passwort "football" ein (damit es einfacher ist, haben ALLE Benutzer dieser Website dieses Passwort...). Gehen Sie sicher, dass Sie alles genauso eingeben wie hier geschrieben - Groß- und Kleinschreibung macht einen Unterschied. "John" wird nicht funktionieren – der Benutzername ist "john"...

Klicken Sie auf den "Login" Button - Sie werden nun zur Seite "Team pages" umgeleitet (vorausgesetzt, alles hat geklappt...)

Sehen einmal in das Menü: Seiten, die vorher versteckt waren, sind nun sichtbar:

Benutzer und Benutzergruppen erzeugen

Bevor Sie zugangsbeschränkte Seiten erzeugen, müsste Sie zunächst einmal Frontend Benutzer und Gruppen haben. Diese können Sie vor, während oder nach dem Erstellen Ihrer Website anlegen - die Reihenfolge spielt hier keine Rolle.

Frontend und Backend User

Moment, moment - wieviele Arten von Benutzern gibt es denn?

Nun, es gibt nur zwei verschiedene Arten. Erinnern Sie sich? Es gibt zwei grosse Bereiche in TYPO3 - das Frontend (Website) und das Backend (Administration)

Ein Frontend User (orangene Symbole) kann sich natürlich auf der Website anmelden. Er kann keine Inhalte verändern (denn er hat nichts mit dem Backend zu tun!), hat aber trotzdem seine Daseinsberechtigung, denn er erlaubt uns, auf der Website den Zugang zu Informationen einzuschränken!

Frontend User (auch "Website User" genannt) können im System überall dort angelegt werden, wo wir sie anlegen wollen. In unserem Fall haben wir einen hübschen sysFolder "Users" sowohl für Benutzer als auch für Gruppen erstellt. Die einzige Voraussetzung zu diesem Speicherort für Frontend User ist, dass wir dem Template sagen, dass dies der Ort ist nach Benutzern zu suchen wenn sich jemand anmelden möchte - mehr darüber im Abschnitt zum Thema Templates.

Wenn Sie in TYPO3 einmal eine Web Applikation mit Benutzerprofilen programmieren möchten, könnten Sie beispielsweise die Frontend User als Basis für eine Extension - eine Erweiterung - nehmen, die dann zusätzliche Datenbankfelder in der user-Tabelle anlegt. Auf diese Weise können Sie Informationen zu Website Benutzern speichern und verwalten!

Ein Backend User (blaues Symbol) arbeitet im Backend und ist damit betraut, Informationen hinter den Kulissen zu verändern. Weil Backend User sich mit der Administration der Website beschäftigen, haben die Zugangsbeschränkungen für die Website selbst keinen Einfluss auf sie (sie können ja zum Beispiel versteckte Seiten in einer Vorschau sehen, obwohl dies für Frontend User nicht möglich ist).

Backend User können nur an einer Stelle abgelegt werden - in der Wurzel des Page Trees (pid = 0) - und auch nur von Backend Usern, die "admin" User sind (diese haben das admin-Flag gesetzt, das durch ein rotgefärbtes Symbol angezeigt wird!) weil sie die einzigen Benutzer sind, die Zugriff auf Datensätze in dieser Page - namens Root - haben:

Die drei blauen Backend User (#1) wurden so konfiguriert, dass jeder von ihnen einen kleinen Teil der Website betreuen kann - mehr darüber später im Abschnitt über Benutzer. Die Backend usergroups (#2) würden normalerweise auch blau dargestellt, wenn ich nicht ein Flag namens  "Access Lists" gesetzt hätte - sorry...

Der "admin" User (#3) schließlich - der Benutzer mit dem wir arbeiten - ist rot, denn er hat einen völlig unbeschränkten Zugriff auf jeden Teil des Systems!

Bearbeiten von Benutzern und Gruppen

Wie Sie sehen können, haben wir bereits einen sysFolder mit einer Benutzergruppe und zwei Benutzern.

Die Gruppe "Team" ist wirklich nicht mehr als der Titel schon sagt. Sie enthält keinerlei Einstellungen.

Die Benutzer "john" und "irene" haben grundsätzlich die gleiche Konfiguration - sie besteht nur aus Benutzername, Passwort und Mitgliedschaft in einer Gruppe:

(Ach richtig! Sie haben bisher ja noch gar nicht das List Modul benutzt – na gut, wie schwer mag es sein? Klicken Sie einfach auf das Symbol und das gute alte Kontextmenü erscheint. Zurück in vertrautem Gebiet. Wie ich doch bereits gesagt hatte - achten Sie auf die durchgängig verwendeten Konzepte!)

Und hier ist Johns Profil:

Benutzer erstellen

Lassen Sie uns einen Benutzer erzeugen. Weil Frontend User (genauso wie Seiten, Page Content Elemente, News Artikel usw.) nur Datenbankelemente sind, verwendet TYPO3 das gleiche Schema zum Erzeugen von Frontend Usern wie für jedes andere Element. Deshalb ist dies gleichzeitig auch eine generelle Einführung in das Erzeugen von neuen Elementen!

Bereit? Es ist simpel. Klicken Sie zunächst auf das Seitensymbol der Seite in dem Sie das neue Element erzeugen möchten:

Anschließend wählen Sie das "Website user" Element:

... und geben die Informationen ein. In diesem Fall sind Benutzername, Passwort und Gruppe erforderliche Felder:

Speichern Sie den User. Wenn Sie auf den Seitentitel des "Users"-sysFolders klicken, sollten Sie diese Liste sehen (natürlich vorausgesetzt, das "List" Modul war das letzte Backend Modul mit dem Sie gearbeitet haben):

Wechseln Sie auf die Seite mit dem Login Formular und testen Sie, ob es funktioniert:

Ein Login Formular erstellen

Wir haben bereits ein Login Formular. Aber was, wenn wir noch ein zweites auf der Startseite haben möchten? Ist das ein Problem?

Nein, denn wie Sie bereits wissen erzeugt TYPO3 Seiteninhalte durch eine Reihe von Page Content Elemente - also legen wir einfach ein neues Content Element vom Typo Login Box auf der Startseite an! Die Frage ist eher, wo zwischen all den anderen Elementen wir das neue anlegen sollen...

Okay, hier eine kleine Fingerübung für Sie: Page Modul -> "FC Bigfeet" anklicken -> "New content"

"Login Formular":

Position auswählen:

Benennen - speichern:

Wenn Sie in dem Kasten "Send to page:" eine Seite auswählen, wird der Benutzer nach der Anmeldung auf diese Seite umgeleitet. Dies haben wir in der anderen Login Box verwendet, so dass der Frontend User direkt im zugangsbeschränkten Bereich landet. In diesem Fall werden wir das Feld aber leer lassen, was den Benutzer auf genau derselben Seite landen lässt, der Startseite.

Im Frontend sehen Sie diese Ausgabe:

Wie Sie sehen, sind wir bereits angemeldet - als "newuser". Sie können versuchen sich abzumelden und anzumelden und ... wie Sie mögen. Sollte klappen.

Zugangsbeschränkte Seiten erstellen

Jetzt haben Sie:

  • Benutzer und Gruppen erstellt

  • Ein Login Formular(sehen Sie sich auch noch unbedingt den Teil zum Thema Konstanten im Template-Abschnitt an, der Ihnen etwas über  wichtige Einstellungen zur storage page id für das Template erzählt)

  • Sie müssen nur noch ... irgendwie den Zugang beschränken!

Lassen Sie uns den gesamten Bereich "Youth Section" schützen:

Wählen Sie die Gruppe "Team" aus, so dass die Mitglieder der Gruppe Zugriff erhalten:

Und speichern Sie dies. Das Seitensymbol verändert sich. Zeigen Sie mit der Maus auf das Symbol:

Sehen Sie! Der Zugriff ist auf die Gruppe "Team" beschränkt. Melden Sie sich an und wieder ab. Funktioniert? Sollte es auch.

Nicht ganz!

Melden Sie sich ab und sehen Sie sich eine der Unterseiten von "Youth Section" an. Sie werden merken, dass diese Seiten sehr wohl sichtbar sind! Wurde also nur die Seite "Youth Section" geschützt?! Ja, so ist es - weil Sie noch ein zusätzliches Flag setzen müssen, nämlich "Include subpages".

Bearbeiten Sie den Page Header und setzen Sie das Flag (am unteren Ende des Formulars):

Das Seitensymbol ändert sich nun in einen zweifachen Pfeil nach vorne - das bedeutet, dass nun alle Unterseiten ebenfalls geschützt sind!

Tipp: "Include subpages" hat nicht nur Auswirkungen auf die Zugriffsbeschränkungen - genauso wirkt es sich auch darauf aus, ob eine Seite versteckt ist oder eine Start oder Stop Zeit gesetzt hat. Auf diese Weise können Sie also das Timing oder die Anzeige eines ganzen Bereiches einstellen!

Die Zugriffsoptionen

Grundsätzlich funktionieren Zugangsbeschränkungen genau so - Sie wählen einfach eine Benutzergruppe und das war's. Nun müssen Sie nur noch bestimmen, welche Benutzer Mitglied in welcher Gruppe sind.

Gruppen... Okay, bisher haben wir eigentlich nur eine Gruppe, nämlich die Gruppe "Team". Wenn Sie mehrere Gruppen hinzufügen können Sie verschiedene Regeln für unterschiedliche Benutzer festlegen! "john" zum Beispiel kann Mitglied der Gruppe "Team" sein und Zugriff auf den "Team"-Bereich haben. "irene" könnte Mitglied einer neuen Gruppe sein, die für die Zugangsbeschränkung der "Youth section" benutzt würde, und sie hätte Zugriff darauf! Der Benutzer "newuser" (den wir angelegt haben) könnte Mitglied beider Gruppen sein - und hätte natürlich Zugriff auf beide Bereiche! Probieren Sie's aus, experimentieren Sie...

Zu guter Letzt bedeutet die Option "Hide at login", dass eine Seite nicht sichtbar ist, wenn ein Benutzer angemeldet ist! Dies ist nützlich wenn Sie auf einer Seite Informationen haben, die nur für Besucher relevant sind, die noch nicht angemeldet sind. Die Option "Show at any login" ist natürlich das genaue Gegenteil - sie erlaubt jedem angemeldeten Benutzer, egal aus welcher Gruppe, den Blick auf eine Seite.