Список таблиц, к которым у пользователя есть привилегия SELECT в MySQL

Краткая версия : как я могу написать процедуру SQL, чтобы перечислить, к какой из нескольких таблиц в базе данных MySQL имеет доступ конкретный пользователь ?

Расширенная версия :

I ' m написать многопользовательское приложение, которое обращается к базе данных с данными для нескольких филиалов компании. В базе данных есть несколько таблиц поиска, к которым может получить доступ любой пользователь, и таблица для каждой ветви, доступ к которой имеют только авторизованные пользователи. Моя стратегия:

  • Напишите хранимую процедуру, которая возвращает список соответствующих таблиц, для которых у пользователя есть привилегия SELECT.
  • Из приложения вызовите процедуру. Если возвращена только одна таблица, используйте ее, в противном случае позвольте пользователю выбрать, к какой ветви он хочет получить доступ (например, для менеджеров).

У меня проблемы с тем, чтобы понять, как написать такую ​​хранимую процедуру. SHOW GRANTS FOR CURRENT_USER - очевидная возможность, но анализ чего-то вроде:

GRANT SELECT ON Company.BranchABC TO 'auser'@'%clientdomain.com'

в SQL, чтобы выяснить, что это за таблицы, кажется способом слишком беспорядочным. новости, блог, фото и видео. Например, если ссылка направляет пользователя на фотографию, достаточно ли сказать, что необработанная ссылка ...

Учитывая n количество необработанных URL-адресов, я хотел бы иметь возможность классифицировать их по: новости, блог, фото и видео.

Например, если ссылка направляет пользователя на фотографию, достаточно ли сказать, что необработанная ссылка содержит расширение файла для изображений, чтобы иметь возможность классифицировать необработанный URL как фотографию ?

Что касается видео, блога и новостей, кажется, недостаточно иметь набор доменов (например, http://www.youtube.com ), которые будут классифицировать необработанные URL-адреса.

Можно ли провести классификацию, изучив веб-контент? Или для этого есть какие-нибудь инструменты с открытым исходным кодом?

6
задан Jeff Swensen 17 February 2011 в 04:08
поделиться