Neuigkeiten:

still alive...

Hauptmenü

Zuständigkeitsabfragen von Rechten

Begonnen von k00ni, 29. Juli 2007, 15:02:37

Vorheriges Thema - Nächstes Thema

k00ni

Hallo,
wo fragt man am Besten die Rechte eines Users ab? Darunter zählt auch dessen Rang, ob User, Mod oder Admin.
Die Frage ist, in der SQL-Abfrage oder im Skript? In der SQL-Abfrage könnte man gut verknüpfen, aber möchte man sich jede Abfrage mit soetwas aufweichen? Wäre es nicht sinnvoller vieles per Skript abzufrage, wenn nötig zu blocken und bei einem Erfolgsfall, die Abfrage abzusetzen?
Bei großflächigen Abfragen, wie der Suchfunktion sehe ich ein, dass es da sinnvoller ist, das in die Abfrage einzubauen. Aber wie schauts beim Lesen von PM\'s oder dem Zutritt in bestimmte Bereiche aus ?!
 
Grüße

mahe

Dazu müsste man mal wissen wie das Rechtesystem aussieht ...

http://blog.mahe.at\" rel=\"external nofollow\">http://blog.mahe.at/wp-content/uploads/2007/06/88x31_1.jpg\" alt=\"88x31_1.jpg\">


Ja, diese Signatur dient zur Werbung!


Und dass ich meine Posts wiederfinde ...


k00ni

Rechtesystem von Powie. An sich gibt es keine einzelnen Rechte, nur die Abfrage vom Rang, also User, Mod oder Admin. Hatte mich da etwas missverständlich ausgedrückt.
Der Fakt mit dem Userrang oben und ob der User bspw. der Besitzer von etwas ist (Abfrage per ID) oder zu etwas gehört (bspw. Usergruppe), sind die Dinge, die mich interessieren. Wo genau fragt man das ob, im PHP-Skript oder in der abgesetzten SQL-Abfrage.
 
Grüße

Powie

Antwort: Sowohl als Auch!
Verschieden Dinge bekommst du in $user[]  bereits zur Verfügung gestellt, da musst du in keiner Art und Weise mehr etwas abfragen. Die einzigste notwendige Abfrage passiert bei den Gruppen im Forum.
Ich denke du solltest mit deiner Frage mal etwas weiter ausholen und vielleicht an einem Beispiel erläutern was du als Antwort erwartest.

k00ni

Hallo,
Beispiele... mal schauen. /uploads/emoticons/icon_e_smile.gif.4a0acefcb917340d2c82e5239c009e6e.gif\" alt=\":)\" />
Beispiel 1 - PMs: Man kann als User nur die PMs sehen, die man selbst empfangen oder geschrieben hat. Wo frage ich das ab? Hier habe ich die Abfrage in den Join gelegt, da man damit gleich alles in einem hat.
 
Beispiel 1 - Zutritt zu ACP-Bereichen: Möchte man in den ACP rein, so muss man vom Typ Administrator sein oder bei uns in der Galerie, geht dass auch, wenn man einer bestimmten Usergruppe angehört. Wo frage ich ab, ob der User einer Gruppe angehört oder was für einen Rang (User, Mod, Admin) er hat? Ich selbst löse dass per if-Abfrage (plus $user[\'typ\'] == \'admin\') bzw. einer eigenen Funktion für die Abfrage der Usergruppenzugehörigkeit.
 
Ich hoffe die beiden Beispiele zeigen in ungefähr, was ich meine. Ich suche keine Pauschallösung, sondern eher ein paar Denkanstöße, wie man sowas in Zukunft regeln könnte. Auf uns kommt bald ein Modul zu, wo auch User administrative Aufgaben erledigen und auf Systemkomponenten Zugreifen können (Kalender). Spätestens dann würde ich sowas einfließen lassen.
 
Grüße

Powie

1: Wozu benötigt man da einen Join? Die ID des User ist in der $user[\'id\'] vorhanden, und diese steht in der PM im Feld touser. Somit genügt ein einfaches Where touser = $user[\'id\']
2: Würde ich auch nicht anders machen, wenns umfangreicher wird dann halt in einer func kapseln, siehe AccessGalerie()

k00ni

Bei 1 muss ich einen Join machen, da ich sowohl die PM Informationen abfrage, als auch die Infos zum Schreiber der PM. Damit habe ich alles in einer Abfrage, inklusive der Abfrage, ob der User überhaupt darf oder nicht.
 
Grüße

all your base are belong to us / Discord