Zur Boardunity Forenstartseite

Zurück   Boardunity & Video Forum » Technik » Programmierung und Datenbanken

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1  
Alt 17.10.2003, 17:40
Benutzerbild von Fabchan
früher Dracaelius
 
Registriert seit: 10.2003
Ort: Seesen
Beiträge: 354

Ideales Rechte-System


Schon wieder ein Thema von mir (hoffentlich wirft mir niemand vor, dass ich spamme! )


Wie sollte man eurer Meinung nach ein idealews
Rechte-Management-System für ein Forum umsetzen?
Damit meine ich jetzt nicht, vom Umfang der Optionen (Kann posten, kann lesen, kann Umfragen erstellen,...),
sondern ehr im Sinne von:

- Soll jede Gruppe ein Standardrechte-System haben,
dass dann vom jeweiligen Forum überschrieben wird oder
- Wie werden die Rechte einem Board zugewiesen ?
- Wie speichere ich das Ganze?


Verschiedene Systeme gibt es ja genug!
Ich weiß einfach nicht, wie ich es in meinem Forum machen soll, bitte helft mir!
__________________
Fabian Michael
"Ein Tag, an dem du nicht lächelst, ist ein verlorener Tag."
- Charlie Chaplin

Wiki
  #2  
Alt 17.10.2003, 17:53
Benutzerbild von Frederic Schneider
WoltLab Holzmichl
 
Registriert seit: 07.2003
Ort: Eschborn
Beiträge: 1.287
naja ich kann derzeit nicht genaues sagen... ich sage mal eine Mischung zwischen dem vBulletin (3) und dem wBB 2.1 Rechtesystem, das ist schon ideal.

__________________
Frederic Schneider
WoltLab Team / WoltLab Wiki / GamePorts / Frederic Schneider / neuer-patriotismus.de
  #3  
Alt 17.10.2003, 18:03
Benutzerbild von Fabchan
früher Dracaelius
 
Registriert seit: 10.2003
Ort: Seesen
Beiträge: 354
Sorry, ich kenne nur das vom vBulletin 2, ist das von 3 großartig anders?

__________________
Fabian Michael
"Ein Tag, an dem du nicht lächelst, ist ein verlorener Tag."
- Charlie Chaplin

Wiki
  #4  
Alt 17.10.2003, 18:05
Benutzerbild von DaddyCool
Platzanweiser
 
Registriert seit: 10.2003
Ort: Niedersachsen
Beiträge: 306
Ich habe es in meinem aktuellen Entwurf so gemacht:

Es gibt für jede Gruppe einen Eintrag in der DB der festlegt was für Rechte sie normalerweise in den Foren haben sollten.

Dann können für jedes Forum nocheinmal extra Rechte gesetzt werden. Das geht sowohl für einzelne Benutzer als auch für ganze Gruppen.

Wobei in diesem Fall ein Forum immer die Rechte vom vorhergehenden erbt.

Edit: Rechte die einem Benutzer erteilt werden haben eine größere Gewichtung als die der Gruppe. Wurde für ein Forum für Gruppe als auch Benutzer unterschiedliche Rechte gesetzt. Werden die vom Benutzer genommen

__________________
Fabian Martin
Fabian Martin

Blog | Twitter | XING
  #5  
Alt 17.10.2003, 18:06
Benutzerbild von DaddyCool
Platzanweiser
 
Registriert seit: 10.2003
Ort: Niedersachsen
Beiträge: 306
Zitat:
Original geschrieben von Dracaelius
Sorry, ich kenne nur das vom vBulletin 2, ist das von 3 großartig anders?
Die einzige Änderung die ich bisher gesehen habe ist das ein User mehreren Benutzergruppen angehören kann

__________________
Fabian Martin
Fabian Martin

Blog | Twitter | XING
  #6  
Alt 17.10.2003, 20:57
Benutzerbild von Fabchan
früher Dracaelius
 
Registriert seit: 10.2003
Ort: Seesen
Beiträge: 354
@DaddyCool: Das mit den mehreren Benutzergruppen ist anscheinend in letzter Zeit sowieso die letzte Mode!
Auf jeden Fall danke für die Hilfe!

__________________
Fabian Michael
"Ein Tag, an dem du nicht lächelst, ist ein verlorener Tag."
- Charlie Chaplin

Wiki
  #7  
Alt 19.10.2003, 00:44
Benutzerbild von Fabchan
früher Dracaelius
 
Registriert seit: 10.2003
Ort: Seesen
Beiträge: 354
Ich habe mri jetzt folgendes überlegt:

Jede Benutzergruppe bekommt Standardrechte zugewiesen und zwar in der selben Tabelle, in der sie gespeichert ist.

Tabelle: user_group

Jeder Benutzer kann in beliebig vielen Gruppen sein, daher benutze ich noch eine Tabelle, um die User mit den Gruppen zu verknüpfen.

Dabei bekommen alle Rechte immer den maximalen Wert zugewiesen, der in den Gruppen, denen der User angehört zu finden ist!

Beispiel:

User Admin0815 ist in folgenden Gruppen:

Mitglieder (can_use_acp = 0),
Administratoren (can_use_acp = 1),
Moderatoren (can_use_acp = 0)

Daher ist es ihm möglich, das ACP (Admin Control Panel) zu nutzen.

Wenn ein Bereich (zB ein Forum) andere Rechte gesetzt hat, werden die den Users überschrieben.

Ich weiß nur noch nicht, wie ich es speichern soll, wenn eine Berechtigung keinen Wert zugewiesen hat und stattdessen einen Standardwert benutzt!
Wie könnte man sowas machen? Als NULL vielleicht? Oder als 0=nein, 1=ja, 2=unset ?

__________________
Fabian Michael
"Ein Tag, an dem du nicht lächelst, ist ein verlorener Tag."
- Charlie Chaplin

Wiki
  #8  
Alt 19.10.2003, 09:53
Benutzerbild von DaddyCool
Platzanweiser
 
Registriert seit: 10.2003
Ort: Niedersachsen
Beiträge: 306
wie wärs mit -1??

Feld darf nur nicht unsigned sein

__________________
Fabian Martin
Fabian Martin

Blog | Twitter | XING
  #9  
Alt 19.10.2003, 13:06
Benutzerbild von Fabchan
früher Dracaelius
 
Registriert seit: 10.2003
Ort: Seesen
Beiträge: 354
@DaddyCool: WIeso bin ich da nicht gleich drauf gekommen? Vielen Dank!

Kann ich das auch in ein TINYINT (1) Feld ganz normal eintragen?

__________________
Fabian Michael
"Ein Tag, an dem du nicht lächelst, ist ein verlorener Tag."
- Charlie Chaplin

Wiki
  #10  
Alt 19.10.2003, 13:52
Benutzerbild von DaddyCool
Platzanweiser
 
Registriert seit: 10.2003
Ort: Niedersachsen
Beiträge: 306
Ja, es geht jede INT Spaltenart, nur wie gesagt, du darfst das Feld nur nicht als unsigned markieren.

__________________
Fabian Martin
Fabian Martin

Blog | Twitter | XING
  #11  
Alt 19.10.2003, 14:15
Benutzerbild von Fabchan
früher Dracaelius
 
Registriert seit: 10.2003
Ort: Seesen
Beiträge: 354
Okay, dann werde ich es so machen, dass das Array mit den User-Rechten erst mit den Daten aus seinen Gruppen gefüllt werden und dann alle Werte, die noch nicht gesetzt sind (bzw. auf -1 stehen) mit Standarddaten gefüllt werden!

Das sollte eigentlich keinerlei Sicherheitsmängel beinhalten oder probleme darstellen oder irre ich mich?

__________________
Fabian Michael
"Ein Tag, an dem du nicht lächelst, ist ein verlorener Tag."
- Charlie Chaplin

Wiki
  #12  
Alt 19.10.2003, 17:32
Benutzerbild von DaddyCool
Platzanweiser
 
Registriert seit: 10.2003
Ort: Niedersachsen
Beiträge: 306
Ob es Sicherheitsprobleme geben wird musst du austesten.

Das kann ich so auf die schnelle jetzt nicht beurteilen.

__________________
Fabian Martin
Fabian Martin

Blog | Twitter | XING
  #13  
Alt 27.10.2003, 16:57
Benutzerbild von Nev
Nev Nev ist offline
Sven M. Maderbacher
 
Registriert seit: 10.2003
Ort: Österreich / Wien
Beiträge: 60
Hi @ll

Ich habe vor längerer Zeit auch ein Rechte System entwickelt, dies geht noch a bissal mehr in die Tiefe.

Wie erkläre ich das am Besten??

Also:
Ein User ist in einer oder in mehrern Rollen.
diese Rollen beinhalten eine oder mehrere Gruppen
Eine Gruppe hat rechte auf eine bestimmte Funktion.

Auf eine Funktionen gibt es Rechte: Read, Insert, Modify, Delete

Beispiel:
Es gibt die Rolle Redakteur
Diese hat mehrere Gruppen
zB
News-Redakteur, Termine-Red...

da es ein Redakteur ist, hat er
lesen, Einfügen- Rechte.

Warum das ganze??
Damit man nicht jeden User die Rechte vergeben muss, bildet man Gruppen, und schliesst diese in Rollen zusammen.

So erspart man sich viel Zeit beim neuanlegen eines Users.

Um das ganze noch zu versüssen, hab ich zusätzlich die Möglichkeit, den User Sonderrechte einzuräumen.
Das bedeutet nicht umbediengt, das er mehr kann, sonder das sind Sonderregeln, die nur diesen User betreffen.
Hier kann ich einen User zB noch das Löschen Recht auf eine Funktion geben, welches er über die Gruppe bzw. Rolle nicht hätte.
Andersrum kann ich ihm auch das Recht entziehen, obwohl er es hätte.

Das ganze kann man mit einen Redaktion-System einer Zeitung vergleichen.

__________________
Sven-Marcus Maderbacher
Cu l8er
Nev the XxX

Projekte:
www.Nev-Hilft.de die Seite für Coder
Master of www.Burnworld.de
  #14  
Alt 27.10.2003, 17:16
Benutzerbild von DaddyCool
Platzanweiser
 
Registriert seit: 10.2003
Ort: Niedersachsen
Beiträge: 306
@Nev
erinnert mich stark an das Schema das z.B. das vB3 und gerüchteweise auch das WBB2.1.schiessmichtod nutzen.

Dort kann man Gruppen zwar nicht zusammenfassen, einem Benutzer jedoch mehreren Benutzergruppen zuordnen.

Ist zwar nicht so komfortabel, sollte aber den gleichen Effekt haben.

__________________
Fabian Martin
Fabian Martin

Blog | Twitter | XING
  #15  
Alt 27.10.2003, 17:22
Benutzerbild von Nev
Nev Nev ist offline
Sven M. Maderbacher
 
Registriert seit: 10.2003
Ort: Österreich / Wien
Beiträge: 60
Hi @gain

Mein Rechte-System gibt es schon etwas länger
knapp 2 Jahre.

__________________
Sven-Marcus Maderbacher
Cu l8er
Nev the XxX

Projekte:
www.Nev-Hilft.de die Seite für Coder
Master of www.Burnworld.de
  #16  
Alt 30.01.2006, 18:41
Mitglied
 
Registriert seit: 01.2005
Beiträge: 137
Mal sehen ob ich das richtig verstehe...

Man definiert gewisse Aktionen:
- lesen
- schreiben
- editieren
- löschen

Dann erstellt man Gruppen und vergibt diesen die Rechte an gewissen Aktionen:
- Autor: lesen, schreiben
- Moderator: editieren, löschen, lesen, schreiben
- Benutzer: lesen

Und nun nehmen wir mal das Beispiel Forum. Wie vergebe ich dann diese Rechte getrennt für die Boards?
Gruppen den Boards zuweisen und über die entsprechende Gruppe die Berechtigung erhalten?

Links zu eigenen Themen, die sich auch um ein rechtesystem drehen:
http://boardunity.de/rechtesystem-au...auf-t3790.html
http://boardunity.de/eigenes-cms-mod...bau-t3913.html

  #17  
Alt 31.01.2006, 11:11
Benutzerbild von Nev
Nev Nev ist offline
Sven M. Maderbacher
 
Registriert seit: 10.2003
Ort: Österreich / Wien
Beiträge: 60
Hi eBoy

Ich fühle mich mal angesprochen

Beispiel für ein Forum:
Als Gast bekommst du generell das Kennzeichen Read
dies erlaubt den Besucher, alles zu lesen

Jedes Board ist wie ein Modul zu sehen.
d.h.:
Der Besucher muss in der Gruppe (Board) sein, und dort das Recht Lesen
ansonsten darf er nicht hinein.

dadurch kannst du auch den Gast wieder aussperren.

Der registrierte Besucher
Hat neben dem Recht: Read auch Modify
d.h. er darf auch seine Beiträge löschen.

Die Gruppen ist eine Zusammenfassung von Rechte.
Ein User kann in mehreren Gruppen sein.
Wobei sie zusammen ein gesamtes Recht defineren.

Ich hab vor längerer Zeit mal einen Text geschrieben, siehe attachment
Angehängte Dateien
Dateityp: txt right-system.txt (5,2 KB, 11x aufgerufen)

__________________
Sven-Marcus Maderbacher
Cu l8er
Nev the XxX

Projekte:
www.Nev-Hilft.de die Seite für Coder
Master of www.Burnworld.de
  #18  
Alt 31.01.2006, 11:34
Mitglied
 
Registriert seit: 01.2005
Beiträge: 137
Diese Gruppen wären dann vergleichbar mit einer Rechte-Datenbank, die für gewisse Aktionen die Rechte an die Gruppen vergibt. In diesen Gruppen muss der User dann Mitglied sein, um die entsprechende Aktion ausführen zu können.
Wobei diese Gruppen dann nichts mir den "Gruppen" zu tun hätte, die als Hauptgruppe angezeigt wird (Gruppenmitgliedschaft nach z.B. geschriebenen Beiträgen).
Text habe ich heruntergeladen und werde ich mir durchlesen, danke

  #19  
Alt 31.01.2006, 16:53
Mitglied
 
Registriert seit: 01.2005
Beiträge: 137
Das ganze sieht für mich wie ein einfaches Rechtesystem mit Gruppen- und Benutzerrechten...
Was hat es dann in kurzen Worten mit den "Rollen" auf sich?

  #20  
Alt 31.01.2006, 16:59
Benutzerbild von Nev
Nev Nev ist offline
Sven M. Maderbacher
 
Registriert seit: 10.2003
Ort: Österreich / Wien
Beiträge: 60
ein einfaches Rechtesystem mit Gruppen- und Benutzerrechten
geht ned so in die Tiefe, mit den Rechten (Read, Insert, Modify, Delete)
es ist angelehnt am Unix-Rechte-System

Die Rolle dient nur zur Unterstützung.
diese kann man definieren um sich die gesamten Zuweisungen für einen User zu ersparen is quasi eine Schablone.

Zusätzlich, was in dem Text ned rausgekommen ist, kannst du den User obwohl er die Rechte aus der Rolle hat, Rechte entziehen bzw. ihm auch Sonderrechte einräumen, die ausser halb seiner Rollen liegen.

So kannst du obwohl du Rollen vergibst, jeden noch zusätzlich anpassen.

__________________
Sven-Marcus Maderbacher
Cu l8er
Nev the XxX

Projekte:
www.Nev-Hilft.de die Seite für Coder
Master of www.Burnworld.de
  #21  
Alt 31.01.2006, 19:34
Benutzerbild von LonelyPixel
UNB-Entwickler
 
Registriert seit: 01.2004
Ort: Erlangen
Beiträge: 974
Zitat:
Zitat von Fabchan
Das mit den mehreren Benutzergruppen ist anscheinend in letzter Zeit sowieso die letzte Mode!
Das ist imo nicht die letzte Mode, sondern ein notwendiger Fortschritt! Eine Beschränkung auf eine Gruppe ist nicht akzeptabel, wenn man mehr als eine Handvoll Nutzer hat. In jedem mittelgrößeren Unternehmen ist jeder Mitarbeiten Teil mehrerer Gruppen/Projekte, hat oft mehrere Funktionen/Rollen, um so seine Arbeit zu verrichten. So kann man die Berechtigungen näher an der Wirklichkeit modellieren und muss nicht für jede Kombination eine neue spezielle Gruppe aufmachen und alle Nutzer durch die Gegend schieben. jm2c

__________________
Yves Goergen
Softwareentwicklung, Fotografie, Webhosting, UNB Components (in Arbeit)
  #22  
Alt 31.01.2006, 20:17
Mitglied
 
Registriert seit: 01.2005
Beiträge: 137
Ich würde das mal so beschreiben/ machen:

Zugriffsrechte für Modul (z.B. in der Table "module") => grundlegendes Zugriffsrecht
Zugriffsrecht für Kategorie (z.B. Rechte-Table des Modules) => Darf der User, der das Modul betreten darf auch diese Kategorie betreten?
Berechtigung für Aktionen => Darf der User schreiben, (eigenes) editieren, (fremdes) moderieren oder gar administrieren?

Dazu noch global-Admin als Gruppe => besitzt alle Rechte


ich finde dein Rechtesystem nicht unbedingt schlecht, aber zu kompliziert, weshalb ich es auch nicht zu 100% verstehe...


Dazu würde ich versuchen das ganze einfach zu halten, also die Parameter (Rechte des Users/ der Gruppe und Voraussetzungen) nicht in der rechte-Klasse laden, sondern übergeben. Dann kann man die Funktion für die Zugriffsrechte für Module UND Kategorien für beides verwenden.

Ich muss mir da mal weitere Gedanken dazu machen

  #23  
Alt 31.01.2006, 20:22
Benutzerbild von Nev
Nev Nev ist offline
Sven M. Maderbacher
 
Registriert seit: 10.2003
Ort: Österreich / Wien
Beiträge: 60
Hi @gain

Der Ansatz is eine Anregung, ned das Gelbe vom Ei

Jeder hat andere Anregungen bzw. Bedürfnisse.

Bisher hab ich mit dem System einfach alles abdeken können.

__________________
Sven-Marcus Maderbacher
Cu l8er
Nev the XxX

Projekte:
www.Nev-Hilft.de die Seite für Coder
Master of www.Burnworld.de
  #24  
Alt 31.01.2006, 20:26
Mitglied
 
Registriert seit: 01.2005
Beiträge: 137
Es ist mir auch sehr hilfreich gewesen. Werde da einige meiner Ideen überdenken müssen und schauen, wie ich das Optimum für mich rausholfen kann.

  #25  
Alt 03.02.2006, 09:37
Mitglied
 
Registriert seit: 01.2005
Beiträge: 137
Berechtigungen die ich wohl benötige:
- lesen (Zutritt)
- schreiben
- editieren (eigene)
- löschen (eigene)
- editieren (alle)
- löschen (alle)

So kann ich auch Mderatoren und Administratoren realisieren. Die User werden in Gruppen organisiert. Dieses System ist universell und beliebig erweiterbar. Man muss die Klasse/ Funktion nur erneut aufrufen und die zu prüfenden Daten und die Voraussetzungen mitübergeben.
Das ware wenig Code und universell einsetzbar... denke/ hoffe ich

Antwort


Stichworte
-


Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Wie findet Ihr das System? Kitilop Entwicklung und Konzeption sozialer Software 1 06.03.2005 16:17
BlackBoard Internet Newsboard System 1.5 LonelyPixel Forensoftware 21 24.12.2004 00:54
Suche CMS System Daniel Richter Blog, CMS, Wiki und Sonstige 26 06.04.2004 02:40
Forum mit Content Management System vorgestellt Eike Projektvorstellung und Bewertung 6 15.02.2004 22:07






1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25