2011-04-23 9 views
0

Je suis un peu confus sur le fonctionnement exact des vues et des autorisations. Supposons qu'une vue, vue1, soit créée uniquement à partir de table1 et qu'un utilisateur ait accès à la table1 d'origine. Cet utilisateur pourrait-il avoir les mêmes privilèges que view1 sur view1? En outre, si un utilisateur obtient la permission de mettre à jour/insérer/supprimer sur view1, ce privilège serait-il possible car il changerait également la table1 sous-jacente?Vues et autorisations MySQL

Merci!

Répondre

0

Les autorisations sont totalement séparés, voici un exemple

create table table1 
(
    blah int 
) 

create view view1 as 
select * from table1 

Avoir l'autorisation sur la table1 ne signifie pas que vous disposez des autorisations sur View1, et les autorisations sur table1 ne sont pas tenus d'être en mesure d'utiliser View1. C'est l'une des utilisations des vues, elle vous permet d'accorder facilement l'accès à seulement un sous-ensemble des données dans une table.

+0

Merci beaucoup! J'ai une autre question cependant. Un utilisateur accorde l'accès à table1, qui crée ensuite view1. Disons que je veux être en mesure de révoquer l'accès à table1 ainsi que les privilèges de view1 (qui était basé sur table1), comment puis-je faire cela? – Brian

+1

'révoquer sélectionner, insérer, supprimer la mise à jour sur view1 de user1' devrait fonctionner correctement. http://dev.mysql.com/doc/refman/5.0/en/revoke.html –