Rechtesystem für Site
LeKuchen
- programmiertechnik
0 Samuel Vogel0 LeKuchen
0 Rolf Rost0 LeKuchen
0 Frank (no reg)0 Webblob0 LeKuchen
Hallo zusammen,
ich überlege gerade, wie ich ein Rechtesystem für eine neue Site angehen soll. Mir geht es v.a. um das DB-Konzept.
Folgende Ideen habe ich:
Jedes einzelne Element/Inhalt einer Seite der Site ist aus einer DB-Tabelle generiert (nenne ich jetzt einfach mal Objekt).
Für jedes Objekt sollen Rechte vergeben werden können, nämlich Lesen, Schreiben(neu), ändern und ggf ausführen.
Die einzelnen User sind in Gruppen zusammengefasst, die bestimmte voreingestellte Rechte haben. Es sollen aber weitere Gruppen hinzugefügt werden können. Diesen kann man dann Rechte an einzelnen Objekten zuteilen.
Der Ersteller-User (owner) eines Elementes kann seinen Eintrag auch immer editieren/löschen. (Für den Fall, dass er Schreibrechte aber keine Modify-Rechte hat.)
Lösungsversuch:
Ich habe eine DB-Tabelle, in der ich den Usergruppen für jedes einzelne Objekt die vier Rechte zuteile oder entziehe.
Bspl:
Tabelle Objekte
Felder: Objekt_ID, Objekt-/Tabellenname (z.B. "News")
Objekt/Tabelle "News"
Felder: News_ID, owner, etc.
Tabelle Gruppen
Felder: Gruppen_ID, etc.
Tabelle Rechte
Felder: Gruppen_ID, Objekt_ID, News_LeseRecht, News_SchreibRecht, News_ModifyRecht, etc.
Hoffe die Idee ist klar geworden....
Das kommt mir etwas kompliziert vor. Geht das nicht auch einfacher? Hat jemand einen Tipp oder einen Link? Habe zu solchen Konzepten nichts gefunden....
Gruss,
LeKuchen
Gude,
Machs doch einfach so:
Tabelle Objekte
Felder: Objekt_ID, Objektname, Objektinhalt, Ersteller
Tabelle Gruppen
Felder: Gruppen_ID, Gruppenname
Tabelle Rechte
Felder: Gruppen_ID, Objekt_ID, LeseRecht, SchreibRecht, ModifyRecht
Ist viel einfacher!
samy,
Tach samy,
Ist viel einfacher!
Jo, perfekt. So sieht es besser aus....Danke!
Gruss,
LeKuchen
hi,
Das kommt mir etwas kompliziert vor. Geht das nicht auch einfacher? Hat jemand einen Tipp oder einen Link? Habe zu solchen Konzepten nichts gefunden....
Hmm, schau Dir mal das Potocol ICAP (Internet Content Adaption Protocol) an. Vielleicht kannst Du damit deine Ideen verwirklichen.
Prinzip: Es kommt vom User ein Request auf eine Seite mit verschiedenen Objekten. Per ICAP wird nach den Berechtigungen zu diesen Objekten geschaut - je nach User der eingeloggt ist. Und ebenfalls via ICAP werden 'nicht berechtigte' Objekte auf der Seite ausgetauscht oder entfernt.
Anders Beispiel aus meiner Praxis: Virenscan auf einem Proxyserver, per ICAP werden virulente Elemente auf der requesteten Seite ermittelt und entfernt.
Kurzundgut: Mit ICAP können Inhalte von angeforderten Webseiten verändert, angepasst werden.
Viele Grüße
Rolf
Hallo Rolf,
Hmm, schau Dir mal das Potocol ICAP (Internet Content Adaption Protocol) an. Vielleicht kannst Du damit deine Ideen verwirklichen.
Ja, danke, werde ich mir anschauen. Wobei ich das Login selbst eigentlich mit DB-verwalteten Sessions umsetzen wollte...
Gruss,
LeKuchen
Hi,
um die Antwort mal ganz generisch zu gestalten:
Wenn jetzt irgendein Zugriff (Aktion) auf ein Objekt erfolgen soll, fragst du den Benutzer:
fertig ... muss nur noch zusammen-ge-codet werden :-)
Ciao, Frank
Hallo Frank,
fertig ... muss nur noch zusammen-ge-codet werden :-)
Ja, so ähnlich hab ich es vor...bin dabei...;o)
Gruss
LeKuchen
Hi,
wie du (irgendwo hier) schriebtest: dich interessiert mehr die
Datenhaltung, das grundlegende Konzept hinter der Sache - so geht
es mir auch, ich muss/will eine sache komplett verstanden haben,
bevor ich sie benutze :-)
in meiner Antwort sind ja auch quasi schon die Definitionen der
Entitäten (Tabellen) versteckt
es hängt ganz von dir ab, wie komplex du jetzt dein System
gestalten willst:
Um das zu coden muss man nicht der Meister schlechthin sein ...
das geht auch auf dem Fortgeschrittenen-Level.
Na, viel Spass denn :-)
Frank
Hallo,
ich überlege gerade, wie ich ein Rechtesystem für eine neue Site angehen soll. Mir geht es v.a. um das DB-Konzept.
das erinnert mich doch sehr stark an ein x-beliebiges Foren-Script, was du da so beschreibst.
Vielleicht schaust du dir mal eins an. Ich kenne persönlich nur das Burning Board von Woltlab. Das Burning Board 1 ist Freeware und in 2 Minuten installiert. Dann kannst du dir die DB-Struktur ja mal angucken.
Hier der Link: http://www.woltlab.de/products/burning_board_1/index.php
Gruß Gunther
Hallo,
das erinnert mich doch sehr stark an ein x-beliebiges Foren-Script, was du da so beschreibst.
Ja - irgendwie haben ja alle Arten von Websites mit User-Interaktion oder Redaktionssystem Rechtesysteme nicht wahr? Foren, Gästebücher, CMS etc. Die bilden dafür ja sogar die Grundlage könnte man sagen.
Und für meine Site wollte ich das Konzept halt vorher genau überlegen bevor ich drauf los programmiere, damit es ausbaufähig und einfach ist, aber alle wichtigen Funktionalitäten enthält.
Hatte gedacht, da gibt es schon fertige Grundkonzepte, die man sich mal anschauen kann (wie gesagt, es interessiert mich mehr die Datenhaltung, das programmiertechnische umsetzen ist ja dann kein Problem)...
Gruss,
LeKuchen