Erlaube SELECT nur für eine bestimmte Spalte


7

Ich habe eine UserTabelle mit 3 Spalten; name, email, password, usw.

Ich möchte einen anderen Benutzer erstellen, der nur SELECTdie nameSpalte kann.

SELECT name     FROM User;    -- Ok!
SELECT email    FROM User;    -- Not Ok!

Kann das unter MySQL gemacht werden?

Antworten:



4

In der Regel ist es besser, eine Ansicht zu verwenden, um Spalten nach Bedarf auszublenden, und dann Berechtigungen für die Ansicht zu erteilen.

Dies entkoppelt die Tabellenstruktur und die Berechtigungen. Wenn Sie die Tabelle ändern oder neu erstellen, gehen Berechtigungen verloren. Oder fügen Sie eine neue Spalte hinzu, für die jetzt separate Berechtigungen erforderlich sind.

aka Fügen Sie einige Ansichten hinzu, um die Hierarchie der Berechtigungssätze zu vereinfachen.


Ansichten machen mehr Probleme als zu lösen: Replikation, Backups, RDS.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.