baseportal
Suche: 
 Forum   Start 

Rechte

 
Verstecken Inhalt

Allgemeine Zugriffsrechte

In vielen Fällen reicht es völlig aus, die Rechte für unangemeldete Nutzer zu bestimmen. Sie selbst, als Eigner haben immer alle Rechte an der Datenbank, ebenso der Programmcode, den Sie in Ihren Templates verwenden: Die dort verwendeten Funktionen können beliebig auf Ihre Datenbanken zugreifen. Es gibt 4 Zugriffsarten, die beliebig kombiniert werden können: Beispiele:

Nutzer-Datenbanken

Um einen ausgefeilteren Schutz zu realisieren, bietet baseportal Nutzerdatenbanken an. Sie können für jede Datenbank eine eigene Nutzer-Datenbank erstellen oder auch eine Nutzer-Datenbank für mehrere Datenbanken einsetzen. Eine einfache Nutzerdatenbank könnte so aussehen: Die Nutzer sepp und liese können lesend und schreibend auf die Datenbank zugreifen; der Nutzer gregor kann zusätzlich ändern und löschen. * ist ein spezieller Nutzername - hier werden die Rechte für unangemeldete Nutzer gesetzt, wie oben beschrieben. Ein "Passwort" und ein Eintrag beim "EMail"-Feld erübrigt sich damit natürlich.

Rollen

Bei komplexeren Rechten wäre es sehr mühsam bei vielen verschiedenen Nutzern diese immer wieder neu eingeben zu müssen. Beispiel: Sie haben interne Mitarbeiter definiert, die Zugriff auf die Felder "Name", "Strasse" und "Ort" haben. Später ergibt sich, dass sie auch noch das Feld "Telefon" lesen dürfen - nun müssten Sie bei jedem einzeln die Änderung durchführen. baseportal bietet dafür eine bessere Lösung: Wie man am Beispiel sieht, kann man Nutzern bestimmte "Rollen" zuteilen und über diese Rollen ergeben sich dann die Rechte - so haben z.B. alle News-Redakteure das Recht zu schreiben. Innerhalb der Datenbank ist eine Rolle nichts anderes als ein Nutzer. Obwohl nicht zwingend, ist es keine schlechte Idee, Rollen immer komplett gross zu schreiben, um sie so einfach von normalen Nutzern unterscheiden zu können. Es können auch mehrere Rollen, durch Komma getrennt angegeben werden. Ein Nutzer erhält dann alle Rechte der einzelnen Rollen zusammen. Es werden auch die bei den Rollen angegebenen Rollen weiterverfolgt (bis maximal 50), so dass eine komplexe Rechtehierarchie aufgebaut werden kann. Hier eine kleine, aber feine Nutzerdatenbank mit verschiedenen Rollen: undef @_sel; Unangemeldete Besucher dürfen das Feld "Name" lesen, sonst nichts. MITARBEITER dürfen die Felder "Name", "Strasse", "Ort" und "Telefon" lesen, in diesem Fall haben diese Rolle die Nutzer berger und krumpawesch. Letzterer hat zusätzlich die Rolle EINGEBER, d.h. er darf auch komplette Einträge (in alle Felder) machen. Die Nutzerin gabi hat die Rolle KONTROLLEUR, mit der sie alle Felder lesen und Einträge löschen darf. Beim Nutzer fongi schliesslich werden die Rechte aus der Rolle KONTROLLEUR um das Recht, alle Felder zu ändern, ergänzt. Die Weitervererbung von Rechten sieht man am Nutzer Schlumpf, der die Rechte von KONTROLLEUR2 bekommt und zusätzlich die Rechte von KONTROLLEUR (die Rolle von KONTROLLEUR2). Rollen erhalten normalerweise kein Passwort: Dadurch ist eine Anmeldung unter deren Namen ausgeschlossen. Wenn Sie wollen, können Sie aber auch Rollen Passwörtern geben und Sie damit wie normale Nutzer behandeln.

Einrichtung Nutzer-Datenbanken

Bei der Einrichtung einer Nutzerdatenbank gibt baseportal zwei verschiedene Typen zur Auswahl vor: Hier die einzelnen Felder und ihre Funktionen: Natürlich ist auch eine Nutzerdatenbank eine ganz normale baseportal-Datenbank. Das bedeutet, sie können deren Aufbau völlig frei selbst bestimmen und beliebige eigene Felder hinzufügen oder nicht benötigte Felder löschen. Es werden einfach die angegebenen Feldnamen vom Anmelde-Modul verwendet und nur wenn diese vorhanden sind, wird deren Funktion ausgeführt. Als zusätzliche Felder bieten sich ein "Kommentar"-Feld oder ein "Geburtstag"-Feld an. Sie können auch eine komplette Adress- und Kundenverwaltung darauf aufbauen!

Rechte der Nutzer-Datenbank

Da eine Nutzer-Datenbank selbst eine normale baseportal-Datenbank ist, können Sie den Zugriff darauf wieder mit einer eigenen Nutzer-Datenbank regeln. Dadurch können Sie verschiedene Zugriffslevel definieren:
Eigner>>Administratoren >> Nutzer >> Datenbank
Der Eigner des baseportal-Zugangs hat dabei immer alle Rechte (vielleicht vergleichbar mit dem Nutzer "root" bei UNIX-Systemen). Die Nutzer-Datenbank einer Nutzer-Datenbank bestimmt die "Administratoren": Sie können neue Nutzer einragen, deren Rechte festlegen und diese auch wieder löschen. Die "Nutzer" können mit diesen Rechten auf die Datenbank zugreifen. Ach ja, und die Nutzer-Datenbank einer Nutzer-Datenbank kann selbst natürlich wiederum auch eine Nutzer-Datenbank haben und... ;-) Eine allgemeine Rechtevergabe ist bei einer Nutzer-Datenbank nicht möglich, denn wenn jeder die Einträge inkl. Passwörter lesen oder gleich beliebige neue Einträge machen kann, hebeln Sie damit natürlich den eigentlichen Schutz komplett aus. Lediglich ein eingeschränkter Zugriff auf bestimmte Felder (z.B. Name) könnte für ALLE Sinn machen.

Anmeldung

Wird der Zugriff auf eine Datenbank über eine Nutzer-Datenbank geregelt, so gibt das <do action=all...> automatisch einen "Anmelden"-Button aus: Die restliche Ausgabe hängt von den Rechten ab, die unangemeldete Nutzer (ALLE) haben, in dieser Beispielausgabe nur Leserechte und sonst keine. Kann man als unangemeldeter Nutzer garnicht auf die Datenbank zugreifen, so erscheint gleich das Anmeldeformular: Wie üblich können Sie die Anmeldung durch einen Parameter beeinflussen:

Art der Anmeldung (Neuer Parameter: login)

Durch den neuen Parameter login beim "do action=all" kann die Art der Anmeldung für einen Nutzer gesteuert werden: Beispiel: Die Anmeldung wird sofort über der Ausgabe platziert. Hat ein Nutzer sein Passwort vergessen und meldet sich falsch an, so kann er sich das Passwort an die in der Nutzer-Datenbank verzeichnete EMail-Adresse schicken lassen. Da dies häufiger geschieht, als man glauben mag, ist dies eine grosse Erleichterung für den/die Seiten-Betreiber. Sie können diese Anfrage zum Zusenden des Passworts auch direkt als Link auf Ihre Seite einbauen, dieser sähe dann ungefähr so aus:

Nutzer beim Anmelden zulassen/ausschliessen (Neuer Parameter: login_users)

Durch den Parameter login_users können nur bestimmte Nutzer zur Anmeldung in einem Template erlaubt werden: Hier werden nur die Nutzer KONTROLLEUR (in diesem Fall eine Rolle), fongi und gabi zur Anmeldung zugelassen. Durch ein Minuszeichens - zu Beginn der Nutzerliste, werden die angegebenen Nutzer/Rollen ausgeschlossen. Alle anderen sind zugelassen: Schliesst unangemeldete Nutzer (ALLE) und den Nutzer berger vom Zugriff aus.

Eigene Anmeldungsformen (do action=login)

Sie sind nicht auf die Standard-Anmeldung von <do action=all> angewiesen. Sie können die Anmeldung an anderer Stelle der Seite platzieren oder selbst eine Anmeldeseite erstellen und diese URL den Bearbeitern ihrer Datenbank zur Verfügung stellen. Wenn Sie "do action=all" verwenden und dort den Parameter login=no hinzufügen, so erscheint die normale Seitenausgabe ohne "Anmelden"-Button. Um eine Anmeldung bei baseportal vorzunehmen müssen die Parameter "uid" für den Nutzer-Namen und "upw" für das Passwort übermittelt werden. Wenn Sie wollen, können Sie auch gleich eine URL mit diesen Parametern erstellen, z.B. so: Natürlich ist dies nicht für jeden Fall das Bequemste. Um ein Anmeldeformular in einem Template zu integrieren, können Sie die neue "action"-Angabe login_form verwenden: Gibt an dieser Stelle ein Anmeldeformular aus.

Um eine Anmeldung direkt von Ihrer Homepage aus zu ermöglichen benötigen Sie ein eigenes Anmelde-Formular:

Das wars auch schon. Bauen Sie diesen Code in Ihre eigene Seite ein und rufen Sie sie dann auf. Das rot markierte "/meinname/ausgabeseite" müssen Sie dabei natürlich auf Ihre eigenen Werte ändern.
Alte Version vom 14.9.2006, 19:27 - Stichworte: Rechte, Lesen, Schreiben, Ändern, Löschen, Nutzer-Datenbankc und wiederherstellen - +

© baseportal GmbH. Alle Rechte vorbehalten.


powered in 0.02s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!