Für ein paar Mark im Monat (teilweise auch kostenlos) bekommt man Webspace mit MySQL-Unterstützung - so weit so gut.
Das Problem ist bloß, daß für die MySQL-Datenbank immer nur EIN User eingerichtet wird (nämlich ich selbst) mit Admin-Rechten für diese eine Datenbank.
Jetzt möchte ich aber weitere User einrichten, die verschiedene Rechte haben sollen. Auf meiner WAMP-Lösung zuhause keine Problem, da kann ich als MySQL-Admin grant und revoke benutzen. Da mir aber natürlich kein Webspace-Provider erlauben wird, grant oder revoke zu benutzen, frage ich mich, ob es eine andere Möglichkeit gibt, eigene User für meine Datenbank einzurichten (oder zumindest für den Zugriff auf versch. Tabellen)???
Gruß,
Hobbes
Homepage selbermachen 7.852 Themen, 35.619 Beiträge
Hallo Hobbes,
Du könntest ein eigenes Interface schreiben, wo Du das selber festlegst. Eine Tabelle enthält die User inklusive Zugriffsberechtigungen. Sobald der User diese besitzt, darf er auf die Tabelle zugreifen.
Ansatz: Beim User wird in einer Spalte die Namen der Tabellen, wo er Zugriff hat, gespeichert. Sobald der Benutzer in einen Bereich kommt, wo er Zugriff bekommen soll, wird das vorher gerprüft und entweder zugelassen oder verweigert. Kleiner Tip: MMC-Adminzugangsschutz :)
Daß der Anbieter das nicht erlaubt, ist korrekt. Das wäre ein viel zu hohes Risiko. Überlege mal, was passiert, wenn ein Anfänger etwas kaputt macht? Deshalb kriegt er ja auch nicht das Recht um zum Beispiel einen SHUTDOWN zu machen oder CREATE DATABASE.
Archilles
Na ja, das Problem ist nicht, jedem User zuzuweisen, auf welche Tabellen er zugreifen kann, sondern vielmehr auf welche Datensätze, die in der Tabelle stehen, er Schreib- und auf welche er Leserechte hat.
Übrigens: was meinst Du mit MMC? Ich kenne das nur vom IIS --> Internet Service Manager (MMC)
Danke!
Gruß,
Hobbes
Dann müssen wir einfach mal umdenken.
Im letzten Thread wolltest Du wissen wie man an einzelne Tabellen die Rechte vergibt. Da denke ich mal, konnte ich Dir einigermaßen helfen. Diese Problematik ist ähnlich. Wenn ein User nur auf bestimmte Felder schreibrecht besitzt, dann gibst Du ihm einfach nur Zugang zu diesen Feldern per Formular. Dann kann er sich winden und tun wie er möchte. Er kann nur die Felder schreiben, die Du ihm anbietest. Das er keinen Mist hineinschreibt, kannst Du auch kontrollieren.
Mit MMC meinte ich nicht die Microsoft Management Console, sondern ... naja Du weißt sicherlich :)
Da drinnen wirst Du eine Menge Beispiele finden, weil es ja die beiden Zugangsebenen gibt (User und Admin). Da gibt es Felder, die von User nicht geändert werden können (z.B. der Nickname). Basta. Einmal ausgesucht, fixiert. Für den Admin wäre das eine Menge Arbeit das zu ändern. Es sei denn ein passendes Skript hilft ihm. Eigentlich ist es daher nicht nötig mit irgendwelchen SQL-Rechten auf Deinem Internetserver zu hantieren. Aber praktisch auch dort Kenntnisse zu haben, ist es allemal.
Wenn nicht anders, mußt Du halt von Hand jedem User die einzelnen Recht zuteilen. Das ist aber ziemlich aufwendig und es gäbe mehrere Wege das zu tun. Mit Dateien, Arrays, weiteren Datensätzen.
PS: IIS hab ich einmal gemacht - nie wieder! Dann doch lieber mit Konfigdateien plagen, als mit nichtssagenden Dialogfeldern.
Archilles
Unmöglich gibt es nicht!
MMC... hoppla, da stand ich ja mal wieder völlig auf der Leitung... ;-)
Übrigens bin ich bisher leider noch nicht dazu gekommen, den MMC auszuprobieren, aber ich hoffe mal, daß ich dieses Wochenende die Zeit dazu finden werde :)
Ja, mich bat neulich auch jemand in Bezug auf den IIS um Hilfe... arrgh... da pfusche ich auch lieber in Apache configs herum ;-)
So, dann wollen wir mal sehen, ob ich dieses Wochenende endlich einen Schritt weiter komme...!
Gruß,
Hobbes
-- unmöglich sicher nicht, höchstens schwierig... aber es wäre ja langweilig, wenn es einfach wäre ;) --