Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Определить права пользователя / 5 сообщений из 5, страница 1 из 1
04.06.2002, 13:32:51
    #32031723
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определить права пользователя
Извиняюсь за повтор, помню, что вопрос уже задавали, но не смог найти.

Итак есть установленное соединение с сервером (MS SQL7) как можно определить права доступа к выбранной таблице для этого соединения (пользователя)?

Т.е. доступно ли выполнение SELECT, UPDATE, DELETE, INSERT к данной таблице данного пользователя?
...
Рейтинг: 0 / 0
04.06.2002, 14:30:24
    #32031729
Serge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определить права пользователя
Наводка: таблички syspermissions, sysobjects. Описание полей можно посмотреть в BOL. Идентификатор текущего пользователя можно посмотреть при помощи стандартных функций для работы с пользователями.
...
Рейтинг: 0 / 0
04.06.2002, 14:40:37
    #32031732
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определить права пользователя
Приветствую

Для работы с разрешениями существуют системные функции
типа sp_helprotect.

Удачи

P.S. На скорую руку написал (могут быть баги) это:

SELECT CASE action
WHEN 193 THEN 'SELECT'
WHEN 195 THEN 'INSERT'
WHEN 196 THEN 'DELETE'
WHEN 197 THEN 'UPDATE'
END
FROM sysprotects
WHERE id = OBJECT_ID('MyTable')
AND (protecttype = 205 OR protecttype = 204)
AND uid IN (SELECT groupuid FROM sysmembers WHERE memberuid = USER_ID()
UNION ALL
SELECT USER_ID())

Выводит список разрешений, которые выданы текущему пользователю и ролям, которыми он обладает. Необходимо
перепроверить...
...
Рейтинг: 0 / 0
05.06.2002, 11:24:59
    #32031786
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определить права пользователя
Приветствую,

Приношу извинения за вчерашний фрагмент кода, написал
его в спешке, поэтому и не совсем, так сказать, как
следует...

Для того, чтобы определить, какие разрешения есть у текущего пользователя, равно как и групп Windows и ролей SQL Server'а, в которые он входит, можно воспользоваться встроенной функцией:

PERMISSIONS([objectid [, 'column']])

Удачи
...
Рейтинг: 0 / 0
05.06.2002, 11:46:40
    #32031789
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определить права пользователя
Спасибо. Есть с чего начать :-)
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Определить права пользователя / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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