Moin!
Immer noch nicht ganz.
Es geht mir darum, MySQL über verschieden Wege, also Interfaces, benutzen zu können, bei möglichst zentraler Rechteverwaltung. Einer der Wege ist ein in C++ erstellter Client, der direkt auf den Port zugreift, ein anderer ist eben der Zugriff über HTTP und PHP.
Gut, dann gilt meine erste Antwort doch: Die Rechte müssen dann nämlich komplett durch MySQL garantiert und kontrolliert werden, irgendwelcher Code davor wäre dann als nicht unbedingt zuverlässig zu bezeichnen.
Und sofern du dann wirklich Trigger und SP brauchst, hast du eben gerade die falsche DB im Einsatz.
Und um dies umsetzen zu können, fragte ich nach den Möglichkeiten, die MySQL bietet.
MySQL bietet die Möglichkeit, bis hin zur Spalte und zum Kommando je Account (der auch noch je nach Quell-IP unterschieden werden kann) die Zugriffsmöglichkeiten einzuschränken. Es ist also problemlos möglich, einem Account nur SELECT und UPDATE auf eine einzige Spalte einer Tabelle zu erlauben, wenn dieser Account sich nicht von einer bestimmten IP aus eingeloggt hat.
Andererseits ist dieses System eben relativ sinnlos (wie ich schon ausführte), wenn der tatsächliche Client immer derselbe Webserver ist, der sich auch immer mit denselben Benutzerdaten bei MySQL anmeldet, dessen menschliche Benutzer aber unterschiedliche Möglichkeiten haben sollen. Da würde ich dann einfach ein System wie PhpMyAdmin mit HTTP-Authentifizierung empfehlen - dann gibt jeder Benutzer seine Accountdaten direkt ein, welche dann für den Kontakt mit MySQL verwendet werden - und schon kann der Benutzer auch wieder nur das tun, was ihm in MySQL erlaubt ist.
- Sven Rautenberg
My sssignature, my preciousssss!