через использование view? Допустим. Есть таблица, в которой есть поле client_id. При запуске сессии выполняется что то вроде set @clientid = 123. Далее пользователь должен иметь доступ на селект view, где будет фильтрация записей по значению client_id= @clientid, а вот доступ на селект из самих таблиц отобрать?
Он сам это не поддерживает. Но в приложении сделать самому конечно же можно
в приложении в каждом запросе втыкать условие по клиент ид слишком муторно. Хотелось бы на уровне БД разграничения сделать. В оракле этот финт работает на ура. Тут наверное стоит сделать во вьюхе что то типа where client_id in (select client_id from client_connections where conn_id = connection_id()). А перед использованием коннекта к БД, когда он забирается из пула коннектов просто в эту таблицу для данного connection_id обновлять/добавлять значением client_id (или даже несколькими при желании). Вопрос остается только с доступом к таблицам и вьюхам. Можно ли выдать доступ на селект, инсерт, апдейт, делит на вьюху, не выдавая этого доступа на целевую таблицу?
Ну во view можно положить это условие
Можно ли выдать доступ на селект, инсерт, апдейт, делит на вьюху, не выдавая этого доступа на целевую таблицу? Конечно же можно!
Спасибо. Посмотрю :)
Ещё посмотрите на хранимые процедуры в контексте SQL DEFINER. Возможно вы захотите реализовать доступ через этот механизм
Обсуждают сегодня