Здравствуйте, Slava Ekimov.

Недавно (11 апреля 2006 г., 17:23:44) Вы писали:

SE> Есть  таблица.  Нужно  ее  изменять.  Я  даю  грант  на UPDATE. И,
SE> наивный,  надеюсь,  что  уже  могу  менять  таблицу. Хрена! Просто
SE> команду UPDATE TABLE SET F=1 выполняет.
Следовательно, менять таблицу ты можешь.

SE> А  если  добавляю WHERE ID=, говорит нет грантов посмотреть на ID.
SE> Я,  конечно,  задним  умом  себе это объяснил, что для того, чтобы
SE> найти строку с ID=100, надо посмотреть на колонку ID, и т.д.
Да,  это так. Если сделать иначе, то через такой UPDATE возможно будет
восстанавливать  данные,  т.е.  читать не имея права на SELECT, просто
тупо  перебирая  возможные  значения,  либо  более  интеллектуально  с
помощью операций сравнения и анализа произведённых обновлений.

SE> Но все равно как-то это не по-человечески.
Не согласен.

SE> Я  хочу  дать только право менять, но мне тут же приходится давать
SE> право  смотреть.  Для смотреть я использую процедуру, например, ну
SE> не хочу давать смотреть напрямую, а приходится.
Дык, используй процедуру и для обновления, дай этой процедуре права на
чтение  и  обновление,  а  юзеру  исключительно  права  на  выполнение
процедуры.

SE> Что-то здесь не то (по-моему!).
ИМХО, всё правильно, разве где-то по-другому?

-- 
  Удачи...
   
   Yuris W. Auzinsh aka Zuz,
   ICQ UIN: 5 8 2 5 6 3 7 4,
   e-mail : zuz(аt)mail.ru


Ответить