base
portal
Suche:
Forum
Start
Neue Seite erstellen
Titel:
<h2>Nutzer-Datenbank und Anmeldeseite auswählen</h2> Ebenso wie Datenbanken können Seiten mit einer [651#1:Nutzer-Datenbank] geschützt werden. Sie benötigen dies für nahezu jede komplexere Web-Anwendung. Legen Sie einfach eine Nutzer-Datenbank für die Seite an und geben Sie den Nutzern das Recht "Ausführen". [!shot:http://baseportal.de/cgi-bin/baseportal.pl?htx=/main&uid=doku] Zusätzlich können Sie bei Seiten wählen, was passieren soll, wenn der Nutzer nicht korrekt angemeldet ist ("Ohne korrekte Anmeldung"): <ul><li>In der Standard-Einstellung <c>[baseportal-Login]</c> wird die bei baseportal übliche Anmeldeseite ausgegeben. Nur wenn der Benutzer sich mit dem richtigen Namen und Passwort angemeldet hat wird die geschützte Seite ausgeführt. <li>Mit <c>[Seite trotzdem ausführen]</c> wird die Seite auch bei falscher oder fehlender Anmeldung ausgeführt, so dass die Möglichkeit besteht selbst innerhalb der Seite darauf zu reagieren, z.B. nur eingeschränkte Daten zu zeigen. <li>Ansonsten kann eine beliebige andere Seite gewählt werden, die ausgeführt wird, wenn keine Anmeldung erfolgt ist. So kann auch für mehrere Seiten eine zentrale Anmeldeseite ausgegeben werden. </ul> <h2>Test auf korrekte Anmeldung</h2> Wenn der Benutzer korrekt angemeldet ist, so enthält die Variable <c>$_user</c> den Nutzernamen, sonst ist sie leer. Hier ein Beispiel: <code> $bonus=10 if $_user ne ""; out "Punkte: ".($punkte+$bonus); out login if $_user eq ""; </code> <h2>Anmeldeformular ausgeben</h2> Die Funktion <c>login</c> gibt das typische Anmeldeformular aus: <code> out login; </code> Natürlich kann auch ein eigenes Formular verwendet werden. Dieses muss die Parameter <c>uid</c> für den Namen und <c>upw</c> für das Passwort übermitteln. Allerdings hat die Verwendung der <c>login</c>-Funktion einen grossen Vorteil: Alle Daten die ein angemeldeter Nutzer übermittelt, werden in das Anmeldeformular übernommen, falls er sich wegen einer abgelaufenen Session neu anmelden muss. Die abgeschickten Daten gehen also nicht verloren, sondern werden nach der Anmeldung gespeichert. Dies gilt selbstverständlich auch für URL-Parameter. <h2>Abmelden</h2> Mit <c>logout</c> können Sie die Session eines Nutzers löschen. Ein Abmelde-Link sieht dann z.B. so aus: <code> <a href="baseportal.pl?htx=$htx&cmd=logout&sid=$_session">Abmelden</a> <perl> logout if $cmd eq "logout"; </perl> </code> <h2>Nutzer-Werte</h2> Oft werden für jeden angemeldeten Nutzer bestimmte Werte benötigt, z.B. sein Realname, das Alter oder das Anmeldedatum. Da die Nutzer-Datenbank eine ganz normale baseportal-Datenbank ist, können diese Werte einfach in zusätzlichen Feldern gespeichert werden. Nach einer Anmeldung stehen die entsprechenden Werte ohne weiteres Zutun in <c>%_user</c>. Haben Sie also beispielsweise ein Feld "Realname" hinzugefügt und dort die echten Namen der Nutzer gespeichert, so können Sie einfach mit <c>$_user{Realname}</c> darauf zugreifen. <h2>Beispiel mit eigener Anmeldeprüfung</h2> Ein komplettes Beispiel mit eigener Anmelde-Prüfung in derselben Seite sieht z.B. so aus: <code> <perl> logout if $cmd eq "logout"; # Abmelden return out login if $_user eq ""; # Nicht angemeldet # Angemeldet... $link="baseportal.pl?htx=$htx&uid=$_user&sid=$_session"; out "<p><a href=\"$link&cmd=logout\">Abmelden</a></p>"; # Abmelden-Link ausgeben out "Hallo $_user{Realname} ($_user)... ".++$count; out "<p><a href=\"$link&count=$count\">Weiter</a></p>"; # Link mit Nutzernamen und Session </perl> </code> Sie können dieses <a href="http://baseportal.de/baseportal/baseportal/Projekte/rights/example" target="_blank">Beispiel hier testen</a>. Name und Passwort sind "test".
Name:
Passwort:
Stichworte:
Version:
1
2
3 Angebot:
Alle
Nur Miete / Lizenz
Nur Miete / Lizenz professional
Nur Miete
Nur Miete smart + pro
Nur Miete smart + pro / Lizenz
Nur Miete pro
Nur Miete ab pure2, smart2, pro1
Nur Lizenz
Nur Lizenz professional
Nur Kostenlos
Ohne Änderungen zurück zur Seite
-
+
©
baseportal
GmbH. Alle Rechte vorbehalten.
powered in 0.01s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!