Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Как узнать есть ли определённые права у пользователя?

Страниц (1): [1]
 

1. ЧИМ - 12 Сентября, 2017 - 11:07:51 - перейти к сообщению
Мучаюсь над проблемой получения информации о том есть ли права у пользователя на определённые команды к определённым таблицам. Например есть пользователь user и у него есть права на SELECT в таблице table1, а так же есть права на SELECT, DELETE в таблице table2. Как определить есть ли у пользователя права для удаления конкретно для таблицы table2?
Если использовать команду: "SHOW GRANTS FOR user; " то выводятся все привилегии пользователя, что в свою очередь трудно автоматически обработать(точнее я не представляю как из меняющегося вывода выбрать DELETE который будет относиться именно к таблице table2 и не перепутать с другими таблицами.)
Если использовать команду: "SELECT * FROM information_schema.user_privileges;" то выводятся не все привилегии(в моём случае выводится только одна привилегия "USAGE"),
Если использовать команду "USE information_schema; SELECT TABLE_NAME, PRIVILEGES FROM COLUMNS;" то привилегии выводятся только те, которые совпадают со списком "select,insert,update,references" т.е. в моём случае DELETE здесь нет.
Неужели никак нельзя узнать есть ли определённые права у пользователя?

 

Powered by ExBB FM 1.0 RC1