Moin!
Hello,
könnte es vielleicht sein, dass Du mich falsch verstanden hast?
Dann hast du schlecht gefragt. Es ging dir augenscheinlich um "wer von Euch hat das Rechtesystem von MySQL in Verbindung mit der PHP-API schon mal voll ausgereizt?"
Und über das Rechtesystem von MySQL habe ich berichtet. Dein Hinweis auf die PHP-API sticht dabei nicht wirklich ins Auge, weil die einzige direkte API für MySQL eben die mysql_*-Funktionen sind - über ODBC würde ich MySQL nicht wirklich anbinden wollen. Und von PEAR hast du auch nichts erzählt.
Ich möchte die Zugriffsrechte auf den Datenstamm so komprimiert verwalten, wie es irendwie geht.
Da MySQL leiser noch keine vollwertige Client-Server-SQL-Datenbank ist, also Trigger und SPs noch nicht unterstützt werden (oder habe ich das übersehen?), muss man also abwägen, welche Rechte im DBMS verankert werden und welche im API.
Trigger und Stored Procedures/Functions gibts ab MySQL 5.0. Und das würde ich nicht als "keine vollwertige Client-Server-SQL-Datenbank" bezeichnen, denn das ist MySQL. Es fehlen ihr lediglich noch ein paar Features, die aber mit dem Client oder Server an sich nichts zu tun haben.
Die Sache ist doch die: Wenn dein Konstrukt, was auch immer du planst, mit MySQL nicht realisierbar scheint, dann solltest du dir eine bessere Datenbank aussuchen. PostgreSQL existiert.
Das Problem liegt dann darin, wieviele APIs man zulässt und welchen Schaden die Differenzen zwischen den APIs auslösen könnten.
Dir geht es also um die API vor der API? Das ist doch komplett deine Sache, auch was Differenzen darin angeht. Mit PHP kann man eben nur einen unzureichenden Ersatz für in der DB nicht existente Features bauen - egal wie viel Mühe man sich gibt, eine Garantie beispielsweise für die korrekte referentielle Integrität ist unmöglich, und Transaktionen müssen beispielsweise auch zwingend auf DB-Ebene existieren, um funktionieren zu können.
Ich schätze also, es geht dir vielmehr um die Problematik der Rechte der Benutzer des PHP-HTML-Interfaces, und weniger um die Rechte, die der lesende und schreibende MySQL-Account auf Spalten-, Tabellen- und Datenbank- sowie auf Kommandoebene besitzt.
- Sven Rautenberg
My sssignature, my preciousssss!