Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Права доступа к таблицам из хранимой процедуры / 10 сообщений из 10, страница 1 из 1
30.01.2002, 14:10
    #32021819
Иван
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Права доступа к таблицам из хранимой процедуры
Имеется таблица tableX и хранимая процедура xxx. У пользователя есть доступ к процедуре, но нет к таблице. Вопрос: почему команда "exec (@xyz)" не выполнится с ошибкой. что доступ запрещен к таблице tableX, а SELECT к этой же таблице выполняется

CREATE PROCEDURE xxx
AS
BEGIN
select * from tableX

declare @xyz varchar(100)
set @xyz=' select * from tableX'
exec (@xyz)
END
GO
...
Рейтинг: 0 / 0
30.01.2002, 14:18
    #32021822
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Права доступа к таблицам из хранимой процедуры
Потому что exec() выполняется с правами пользователя, запустившего процедуру, а все другое в процедуре - с правами dbowner
...
Рейтинг: 0 / 0
30.01.2002, 14:46
    #32021825
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Права доступа к таблицам из хранимой процедуры
>а все другое в процедуре - с правами dbowner
С правами владельца процедуры
...
Рейтинг: 0 / 0
31.01.2002, 00:01
    #32021837
Иван
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Права доступа к таблицам из хранимой процедуры
И как от этого избавиться не давая пользователю доступа к таблице?
...
Рейтинг: 0 / 0
31.01.2002, 06:47
    #32021849
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Права доступа к таблицам из хранимой процедуры
Не использовать динамические запросы
...
Рейтинг: 0 / 0
01.02.2002, 00:17
    #32021947
Иван
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Права доступа к таблицам из хранимой процедуры
Именно динамический запрос и нужен, может кто подскажет как можно решить данный вопрос?
...
Рейтинг: 0 / 0
01.02.2002, 06:47
    #32021954
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Права доступа к таблицам из хранимой процедуры
На 90% уверен что Вам не нужен динамический запрос.
Я за 7 лет его использовал лишь для вычисления строк.
Допустим в поле написано "22+33", а надо получить 55.
...
Рейтинг: 0 / 0
01.02.2002, 07:38
    #32021958
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Права доступа к таблицам из хранимой процедуры
Присоединяюсь к SergSuper
Придется выбирать: либо динамический запрос и права на таблицу, либо явный запрос

Вот тут я уже как-то распинался на эту тему, можете взглянуть
http://www.sql.ru/cgi-bin/UltraBoard/UltraBoard.pl?Action=ShowPost&Board=mssql&Post=3556&Idle=365&Sort=0&Order=Descend&Page=0
...
Рейтинг: 0 / 0
05.02.2002, 00:11
    #32022123
Иван
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Права доступа к таблицам из хранимой процедуры
Спасибо. Придется жертвовать производительностью поиска в БД.
...
Рейтинг: 0 / 0
08.02.2002, 18:35
    #32022547
Alex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Права доступа к таблицам из хранимой процедуры
Попробуй сам контролировать права пользователя:
IF PERMISSIONS(OBJECT_ID('TableX'))&1=1
PRINT 'The current user can select data from TableX.'
ELSE
PRINT 'ERROR: The current user cannot select data from TableX.'
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Права доступа к таблицам из хранимой процедуры / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]