Tom: Loginskript aber nur Leserechte - wie geht das?

Beitrag lesen

Hello,

ich habe das Login Tutorial von Karl Förster http://www.tutorials.de/tutorials9684.html benutzt - damit hat  jeder, der sich einloggen darf die Standardrechte lesen/schreiben. Nun möchte ich aber, dass alle Personen, die sich einloggen dürfen auf alle Tabellen nur Leserechte haben und nur auf spezielle Tabellen auch Schreibrechte.

Geht das per   chmod ("tabelle", 0444);
wenn ja, wie setze ich das konkret ein?

Oder jede einzelne Tabelle der Datenbank per

$tab = fopen("tabelle","r"); // öffnen der Tabelle tabelle im Modus "r"
fclose($tab); //und wieder schließen

  • geht dieses überhaupt (oder ist dieses lediglich mit txt.Dateien möglich)?

Ich habe das zwar eben überflogen, aber von Rechten konnte ich da gar nixhts shen, mit Ausnahme des Rechtes zur Anmeldung.

Diese Scripte ermöglichen nur die Benzuteridenifikation.
Für irgendwelche Rechte müsst Du Dir noch ein System dazu anlegen.

CREATE TABLE benutzerdaten (
  Id Int(11) NOT NULL auto_increment,
  Nickname VarChar(50) NOT NULL default '',
  Kennwort VarChar(50) NOT NULL default '',
  Nachname VarChar(50) NOT NULL default '',
  Vorname VarChar(50) NOT NULL default '',
  PRIMARY KEY (Id)
)

Man könnte nun eine weite Tabelle anlegen, in der die Usernummer (Id) als Fremdschlüssel steht. Dann kann man eine dritte Tabelle anlegen,

(Table USER_RESS)
  ID_USER_RESS
  ID_USER
  RESSOURCE

und eine dritte Tabelle, in der die Rechte stehen

(table RIGHTS)
  ID_RIGHT
  ID_USER_RESS
  RIGHT_DESCR
  FUNCTION_BODY

user----+---->USER_RESS----+---->RIGHTS (view)
        |                  |
        |                  +---->RIGHTS (alter)
        |                  |
        |                  +---->RIGHTS (delete)
        |
        |
        +---->USER_RESS----+---->
        |                  |

und so weiter.

Eigentlich müsste man da die Funktionen als solche auch noch normalisieren, da es ja immer dieselben sind, nur für unterschiedliche Ressourcen.

Man ordnet dem User alse verschiedene Ressourcen zu
Der Ressource-User-Kombination ordent man Rechte zu
Die Rechte greifen auf Standardfunktion wie Öffnen, Lesen, Schreiben, Kürzen, Anhängen, Löschen, usw. zu. Außerdem könnten auch Trustie-Rights vergeben werden: Rechte für User erteilen und entziehen usw.

Man kann sich das Ganze auch einfacher machen:
Ordne jedem User einen "Userlevel" zu und bestimme dann, mit welchem Level er was darf.
Und dann ordest Du den Ressourcen Gruppen zu un den Usern auch.

Wenn die Ressourde zu Gruppe A gehört, der User auch, dann darf er alles, was man in
  Gruppe A mit dem passenden Level machen darf.

Ich hoffe, ich konnte Dir helfen.

Harzliche Grüße aus http://www.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau