проверить, есть ли у текущего пользователя доступ к базе данных - PullRequest
0 голосов
/ 13 февраля 2019

Я захожу в mysql как root и запускаю

GRANT SELECT (`creator`, `name`, `disguise`), SHOW VIEW ON `kit` TO 'ssc'@'localhost';

Теперь из моего кода я захожу как 'ssc'@'localhost'.

Connection db = DriverManager.getConnection(..., 'ssc', ...);

Как пользователь 'ssc'@'localhost' может проверить, чтоу него есть вышеуказанный грант?

Я думаю, может быть, я смогу выполнить некоторые запросы в блоке try / catch (SQLException), но, возможно, есть более элегантный способ.

Также, если ячтобы принять такой подход, я не знаю, какие запросы будут наиболее подходящими (самые быстрые, наименее интенсивные).

1 Ответ

0 голосов
/ 13 февраля 2019
  1. Вы можете разобрать запрос SHOW GRANT.вот ссылка.https://dev.mysql.com/doc/refman/5.7/en/show-grants.html
  2. Вы можете запросить таблицу information_schema.USER_PRIVILEGES.вот ссылка.https://dev.mysql.com/doc/refman/5.7/en/user-privileges-table.html
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...