SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Einführung in XHTML, CSS und Webdesign

Einführung in XHTML, CSS und Webdesign zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 02.12.2009, 20:01:24
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
Eure Meinung: Query zum Rollen- / Rechte-Management

Ich habe einen sehr interessanten Artikel gefunden: Umfassendes Rollen- und Rechte-Management für eigene Anwendungen.

Was haltet Ihr von der Vorgehensweise? Ist das Ganze brauchbar / der Query gut gestrickt?

Ich persönlich kann mir keine eigene Meinung bilden - ich verstehe den dargebotenen Code schlicht + ergreifend nicht. Vielleicht sieht einer von Euch ein absolutes NoGo oder hat Bedenken hinsichtlich Performance / Skalierbarkeit bei grösseren Datenbeständen.

Meine Tests sind übrigens positiv verlaufen; alles funktioniert wie beschrieben.

cx

p.s. möglicherweise kann mir jemand einen Tip für ein gutes (MY)SQL Tutorial geben; kein Einsteiger-Teil (was ist eigentlich eine Datenbank?), nicht das MYSQL-Handbuch (Mangel an weiterführenden Erklärungen / Beispielen), Sprache en / de.

cx
Mit Zitat antworten
  #2  
Alt 02.12.2009, 21:02:16
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Eure Meinung: Query zum Rollen- / Rechte-Management

Rechte Systeme sind wohl immer "teuer" ....

An sich, sieht das schon ganz gut aus. Fehlen würde mir nur Hierarchie der Rollen.
Z.B.: Moderator erbt alle Rechte eines angemeldeten Users, plus weitere Rechte
Ähnlich, wie es in "Sensei ACL" gemacht wird. Leider scheint das Projekt tot zu sein. Aber nichtsdestotrotz könnte man sich da was abschauen.

Ach ja, ein paar Links..
http://reeg.junetz.de/DSP
A Visual Explanation of SQL Joins
Ka, ob sie dir helfen....
Mit Zitat antworten
  #3  
Alt 02.12.2009, 21:41:56
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: Eure Meinung: Query zum Rollen- / Rechte-Management

Zitat:
Zitat von DokuLeseHemmung Beitrag anzeigen
Rechte Systeme sind wohl immer "teuer"
ich glaub auch. hatte mir gedanken gemacht, wie man 1, 2 tabellen einsparen könnte... no way. wenn's flexibel sein soll, geht's wohl nicht "kleiner".

Zitat:
Zitat von DokuLeseHemmung Beitrag anzeigen
Fehlen würde mir nur Hierarchie der Rollen.
mir nicht - bin kein grosser freund von vererbungen. abgesehen davon, dass sowas schnell unübersichtlich werden kann (vor allem im zusammmenspiel mit individuellen rechten) kann vererbung unerwünscht sein. ein normaler user hat bspw. zwei rechte:

1. benutzerkonto registrieren
2. benutzerkonto löschen

konto registrieren zu vererben, ist ok, aber löschen....? ein mod, schon gar nicht ein admin sollte sein konto (versehentlich) löschen dürfen / können.

Zitat:
Zitat von DokuLeseHemmung Beitrag anzeigen
Sensei ACL [...] könnte man sich da was abschauen
dank dir für dein feedback + die links,

cx
Mit Zitat antworten
  #4  
Alt 02.12.2009, 22:47:14
Xor Xor ist offline
Anfänger
 
Registriert seit: Aug 2008
Alter: 35
Beiträge: 124
AW: Eure Meinung: Query zum Rollen- / Rechte-Management

Hi,

Nunja, hier hat man ja eben die Möglichkeit Rechte zu "vererben", da es vorgesehn ist, dass ein User mehrere Rollen inne haben kann (also Benutzer & Administrator, siehe Tabelle "account_roles"). Halte ich nicht für besonders sinnvoll, da man die Rechte für eine einzelne Rolle doch umfassend angeben kann.

Wenn man nun animmt, dass ein User nur eine Rolle annehmen kann könnten wir uns die Tabelle "account_roles" sparen und die "roleID" direkt in die Usertabelle (wie auch immer die ausschaut) schreiben.

bsp. 0-->Standard
1-->Mod
2-->Admin

Also eine roleID.

Weiters würde ich das System des -1 und 1 und der Methode der Summe im Konzept absehen und die individuelle Rechtevergabe-Tabelle prioritär machen (also was individuell vergeben wurde wird zuerst berücksichtigt). Macht für mich mehr Sinn. Also gibt es für die Tabelle "account_rights_adjust" die Einträge 1 und 0, je nach aktiv bzw. inaktiv.

Unter berücksichtigung dieser 2 Änderungen am System könnte man folgende Query einfacher machen: (als user-tabelle wurde "user" mit einer Zelle "roleID" angenommen)

Code:
SELECT rightID, access
FROM (

SELECT rights.rightID AS rightID, account_rights_adjust.adjustment AS access
FROM rights
LEFT JOIN account_rights_adjust ON account_rights_adjust.rightID = rights.rightID
WHERE account_rights_adjust.userID = 1

UNION 

SELECT role_rights.rightID as sameID, 1
FROM role_rights
LEFT JOIN user ON role_rights.roleID = user.roleID
WHERE user.userID =1
) AS tbl
GROUP BY rightID
Das gibt alle Rechte des Users mit einer Rolle aus (Recht-Id und 1 bzw. 0).

Angenommen wird die Tabellenstruktur aus dem oben angegebenen Link.

Ich denke ist praxisbezogener und Performance-freundlicher (eine verschachtelte SELECT weniger, auch kein SUM oder IF).

Was meint Ihr?

Mfg

PS: Tutorials gibt es doch eh schon sehr viel gute, oder? Oder willst du das mehr auf Praxis aufbauen, also mit vielen Beispielen?

Mfg
__________________
Allergisch auf:
  • "Ich brauch ein Script für..."
  • "...dringend..."
  • Anfrage-->Antwort-->Nie wieder melden
Mit Zitat antworten
  #5  
Alt 02.12.2009, 23:28:12
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: Eure Meinung: Query zum Rollen- / Rechte-Management

Zitat:
Zitat von Xor Beitrag anzeigen
Halte ich nicht für besonders sinnvoll, da man die Rechte für eine einzelne Rolle doch umfassend angeben kann.
naja... viele dinge sind + bleiben wohl geschmackssache .-

Zitat:
Zitat von Xor Beitrag anzeigen
Wenn man nun animmt, dass ein User nur eine Rolle annehmen kann könnten wir uns die Tabelle "account_roles" sparen
stimmt... ging mir auch schon durch den kopf. allerdings finde ich gerade die möglichkeit, einem user mehrere rollen zuzuteilen, sehr reizvoll.

Zitat:
Zitat von Xor Beitrag anzeigen
Unter berücksichtigung dieser 2 Änderungen am System könnte man folgende Query einfacher [...]
ist das tatsächlich so viel einfacher...? wie du schon sagst, lediglich eine verschachtelte SELECT weniger.

Zitat:
Zitat von Xor Beitrag anzeigen
Tutorials gibt es doch eh schon sehr viel gute, oder? Oder willst du das mehr auf Praxis aufbauen, also mit vielen Beispielen?
ich persönlich kenne kein anständiges SQL-Tutorial. die, die ich bisher gesehen habe, beschäftigen sich überwiegend mit grundlagen - sowohl theoretischer, als auch praktischer natur. mein problem: ich kann komplexe statements einigermaszen lesen, aber 100%-ig nachvollziehen, geschweige denn selber bauen...

cx
Mit Zitat antworten
  #6  
Alt 02.12.2009, 23:43:12
Xor Xor ist offline
Anfänger
 
Registriert seit: Aug 2008
Alter: 35
Beiträge: 124
AW: Eure Meinung: Query zum Rollen- / Rechte-Management

Zitat:
Zitat von cortex;
bin kein grosser freund von vererbungen
Zitat:
Zitat von cortex Beitrag anzeigen
[...]
allerdings finde ich gerade die möglichkeit, einem user mehrere rollen zuzuteilen, sehr reizvoll.
Nunja, man muss sich entscheiden was einem lieber ist.
Vielleicht ist in diesem Sinne das Wort "vererben" etwas gedehnt, aber gibt man einem User z.B. User & Moderator-Rollen, so hat er Rechte von beiden (also auch wie z.B in deinem vorher genannten Bsp. benutzerkonto löschen)


Zitat:
Zitat von cortex Beitrag anzeigen
ist das tatsächlich so viel einfacher...? wie du schon sagst, lediglich eine verschachtelte SELECT weniger.
Ich finde es Übersichtlicher, da es nicht nur das Select sondern auch eine Tabelle, 2x IF und 2x SUM (In der Query) erspart. Natürlich, von der Performance, vor allem bei kleineren Datenmengen, wird nicht viel Unterschied sein.

Zitat:
Zitat von cortex Beitrag anzeigen
ich kann komplexe statements einigermaszen lesen, aber 100%-ig nachvollziehen, geschweige denn selber bauen...
Ist bei mir genauso. Aber wenn ich mir Statement für Statement durchlese/neu nachschlage steig ich langsam. Und beim bauen brauch ich auch immer mehrere Versuche... Aber ich glaub da machts auch die Übung aus. Wobei, so'n Tut mit Onlineübungen....

Mfg
__________________
Allergisch auf:
  • "Ich brauch ein Script für..."
  • "...dringend..."
  • Anfrage-->Antwort-->Nie wieder melden
Mit Zitat antworten
  #7  
Alt 02.12.2009, 23:55:28
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: Eure Meinung: Query zum Rollen- / Rechte-Management

Zitat:
Zitat von Xor Beitrag anzeigen
Nunja, man muss sich entscheiden was einem lieber ist.
wieso...? ich kann einem user mehrere rollen zuteilen, wobei einzelne rechte ggfs. mehrfach zugewiesen werden. dennoch muss eine hierarchisch niedere rolle nicht von einer anderen rolle erben.

Zitat:
Zitat von Xor Beitrag anzeigen
gibt man einem User z.B. User & Moderator-Rollen, so hat er Rechte von beiden (also auch wie z.B in deinem vorher genannten Bsp. benutzerkonto löschen)
richtig, das hat allerdings - wie du schon andeutest - nichts mit vererbung zu tun, sondern eher mit "komposition" .-

Zitat:
Zitat von Xor Beitrag anzeigen
wenn ich mir Statement für Statement durchlese/neu nachschlage steig ich langsam [...]
das debuggen ist halt dermaszen ätzend, dass ausprobieren und autodidaktisches lernen keinen richtigen spass machen. und dann noch dieses grottige handbuch...

cx
Mit Zitat antworten
  #8  
Alt 03.12.2009, 00:04:51
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Eure Meinung: Query zum Rollen- / Rechte-Management

Zitat:
Zitat von cortex Beitrag anzeigen
ich persönlich kenne kein anständiges SQL-Tutorial. die, die ich bisher gesehen habe, beschäftigen sich überwiegend mit grundlagen - sowohl theoretischer, als auch praktischer natur. mein problem: ich kann komplexe statements einigermaszen lesen, aber 100%-ig nachvollziehen, geschweige denn selber bauen...

cx
hm, manche dinge werden vielleicht erst in dicken büchern gut erklärt. ich habe z.b. hier "datenbanksysteme" von a. kemper/a. eickler. mein prof in datenbanken war herr rahm, der hat auch einige bücher zu dem thema veröffentlicht.

aber die sache ist, dass man sowas nur mit sehr viel üben hinbekommt, denke ich. und eigentlich braucht man solchen komplexen statements eher selten, weil 1. werden die dann auch irgendwann recht langsam und 2. verlagert man immer mehr komplexität der anwendung in die datenbank. heutzutage nutzt man ja für sowas sowieso ein orm, und da sind die möglichkeiten sowieso eher eingeschränkt. und reichen dennoch für 99.9 % der fälle aus.
Mit Zitat antworten
  #9  
Alt 03.12.2009, 00:17:57
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: Eure Meinung: Query zum Rollen- / Rechte-Management

Zitat:
Zitat von feuervogel Beitrag anzeigen
und 2. verlagert man immer mehr komplexität der anwendung in die datenbank.
genau das sehe ich kritisch; ich fühle mich nicht besonders wohl dabei, zuviel logik in die db zu verlagern. ich schätze datenbanken als strukturierte datenspeicher - mehr aber auch nicht. um das db-backend weitestgehend austauschbar zu halten verzichte ich bspw. auch (ungern) auf ein paar nette features:

Zitat:
REPLACE ist eine MySQL-Erweiterung zum SQL-Standard
schade drum...

cx
Mit Zitat antworten
  #10  
Alt 03.12.2009, 01:06:04
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Eure Meinung: Query zum Rollen- / Rechte-Management

Zitat:
Zitat von cortex Beitrag anzeigen
genau das sehe ich kritisch; ich fühle mich nicht besonders wohl dabei, zuviel logik in die db zu verlagern. ich schätze datenbanken als strukturierte datenspeicher - mehr aber auch nicht. um das db-backend weitestgehend austauschbar zu halten verzichte ich bspw. auch (ungern) auf ein paar nette features:
genau das meinte ich ja. ich finde das ja auch nicht gut.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Invalid query - insert admin goiko MySQLi/PDO/(MySQL) 1 02.03.2009 16:37:36
Hosteurope und Rechte -> MySQL query aus Funktion geht nicht aktionkuba PHP Grundlagen 1 13.06.2006 19:33:47
To Many Connections ProGamer11 PHP Grundlagen 0 19.06.2003 00:52:56


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:51:02 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt