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

Откуда: Владимирская обл.
Сообщений: 141
Добрый день. Есть хранимая процедура. В ней делается выборка SELECT, но сам запрос формируется в зависимости от входящих параметров, типа:
DECLARE @SQL varchar(500), @NameTable varchar(128)
SET @SQL = 'SELECT * FROM '+@NameTable
EXEC(@SQL)

На саму процедуру установлено разрешение на выполнение для определенной роли. В этой роли находятся пользователи. При вызове процедуры, выдается ошибка из-за отсутствия разрешения на выполнение SELECT для таблички @NameTable.
Вопрос: можно ли как то установить разрешение так, что бы не устанавливать эти разрешения на каждую из таблиц?
Заранее спасибо.
26 май 14, 08:57    [16070947]     Ответить | Цитировать Сообщить модератору
 Re: Как выставить разрешения на процедуру  [new]
Glory
Member

Откуда:
Сообщений: 104751
dubok79
Вопрос: можно ли как то установить разрешение так, что бы не устанавливать эти разрешения на каждую из таблиц?

Не делать динамических запросов
26 май 14, 09:28    [16071083]     Ответить | Цитировать Сообщить модератору
 Re: Как выставить разрешения на процедуру  [new]
dubok79
Member

Откуда: Владимирская обл.
Сообщений: 141
Это понятно, но это не вариант. Т.е. только выставлять права на каждую из таблиц?
26 май 14, 09:49    [16071235]     Ответить | Цитировать Сообщить модератору
 Re: Как выставить разрешения на процедуру  [new]
Glory
Member

Откуда:
Сообщений: 104751
dubok79
Это понятно, но это не вариант.

Это самый лучший вариант

dubok79
Т.е. только выставлять права на каждую из таблиц?

Изучать EXECUTE AS Clause
26 май 14, 09:53    [16071258]     Ответить | Цитировать Сообщить модератору
 Re: Как выставить разрешения на процедуру  [new]
invm
Member

Откуда: Москва
Сообщений: 9915
Опция execute as у процедуры.
26 май 14, 09:54    [16071266]     Ответить | Цитировать Сообщить модератору
 Re: Как выставить разрешения на процедуру  [new]
dubok79
Member

Откуда: Владимирская обл.
Сообщений: 141
Спасибо!
26 май 14, 10:26    [16071518]     Ответить | Цитировать Сообщить модератору
 Re: Как выставить разрешения на процедуру  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 9184
Чудесный код для инъекций. Так и просится.
26 май 14, 11:12    [16071883]     Ответить | Цитировать Сообщить модератору
 Re: Как выставить разрешения на процедуру  [new]
dubok79
Member

Откуда: Владимирская обл.
Сообщений: 141
Владислав Колосов,

Замучиетесь ;)
26 май 14, 12:10    [16072426]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить