Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Оператор select для защищаемых объектов.  [new]
Zartex
Member

Откуда:
Сообщений: 2
Существует база данных и к ней есть пользователь. У него есть разрешения на столбцы таблицы. Если написать select для всех столбцов, то появляется ошибка: Сообщение 230, уровень 14, состояние 1, строка 1 Запрещено разрешение "SELECT" на столбец и т.д. Как правильно написать запрос, чтобы пропустить столбцы, на которые нет доступа? Работаю с БД недавно, поэтому не ругайте сильно.
2 дек 15, 00:59    [18500487]     Ответить | Цитировать Сообщить модератору
 Re: Оператор select для защищаемых объектов.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Кеп сообщает: написать select только для тех полей, на которые есть разрешения.
2 дек 15, 01:06    [18500495]     Ответить | Цитировать Сообщить модератору
 Re: Оператор select для защищаемых объектов.  [new]
Zartex
Member

Откуда:
Сообщений: 2
Если существует возможность добавлять поля и изменять права к ним из внешнего приложения, то так не пойдет. Нужно как-то анализировать права.
2 дек 15, 01:07    [18500499]     Ответить | Цитировать Сообщить модератору
 Re: Оператор select для защищаемых объектов.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Zartex
Если существует возможность добавлять поля и изменять права к ним из внешнего приложения, то так не пойдет. Нужно как-то анализировать права.
Ага, прям сплю и вижу приложение, которое не удивляется, что после анализа ему рекордсеты разной структуры возвращаются.
2 дек 15, 01:17    [18500508]     Ответить | Цитировать Сообщить модератору
 Re: Оператор select для защищаемых объектов.  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Zartex
Если существует возможность добавлять поля и изменять права к ним из внешнего приложения, то так не пойдет. Нужно как-то анализировать права.
select * from fn_my_permissions('TableName', 'OBJECT') P WHERE permission_name = 'SELECT'
2 дек 15, 03:57    [18500586]     Ответить | Цитировать Сообщить модератору
 Re: Оператор select для защищаемых объектов.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 32173
Zartex
Если существует возможность добавлять поля и изменять права к ним из внешнего приложения, то так не пойдет. Нужно как-то анализировать права.
Получайте список полей, на которые есть права, и стройте динамический запрос.
2 дек 15, 12:05    [18502020]     Ответить | Цитировать Сообщить модератору
 Re: Оператор select для защищаемых объектов.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 9160
Zartex,

это как-то сурово, напишите инлайн функции или представления для доступа, пусть они разруливают права. Пропустить Вы не сможете в любом случае, но заполнить мусором - запросто.
2 дек 15, 14:56    [18503325]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить