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

Откуда:
Сообщений: 43
Подскажите, как выполнить проверку прав пользователя не в текущей базе.
Если SELECT PERMISSIONS(OBJECT_ID('Sales')) AS N в текущей базе выдает результат,
то SELECT PERMISSIONS(OBJECT_ID('MyBase.dbo.Sales')) AS N результат не выдает.
Решение необходимо для того, чтобы блокировать в интерфейсе недоступные для пользователя кнопки операций.
Какие варианты?
17 ноя 09, 13:34    [7939403]     Ответить | Цитировать Сообщить модератору
 Re: Проверка прав пользователя  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31181
Anap
Подскажите, как выполнить проверку прав пользователя не в текущей базе.
Если SELECT PERMISSIONS(OBJECT_ID('Sales')) AS N в текущей базе выдает результат,
то SELECT PERMISSIONS(OBJECT_ID('MyBase.dbo.Sales')) AS N результат не выдает.
Решение необходимо для того, чтобы блокировать в интерфейсе недоступные для пользователя кнопки операций.
Какие варианты?
Лучьше используйте ф-цию fn_my_permissions
17 ноя 09, 13:38    [7939421]     Ответить | Цитировать Сообщить модератору
 Re: Проверка прав пользователя  [new]
Anap
Member

Откуда:
Сообщений: 43
Использую MS SQL Server 2000. Данной функции не нашел.
17 ноя 09, 13:39    [7939430]     Ответить | Цитировать Сообщить модератору
 Re: Проверка прав пользователя  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Anap
Использую MS SQL Server 2000. Данной функции не нашел.
А её там и не было.
17 ноя 09, 13:43    [7939462]     Ответить | Цитировать Сообщить модератору
 Re: Проверка прав пользователя  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Anap
Какие варианты?
Динамический SQL с USE MyBase
17 ноя 09, 13:44    [7939481]     Ответить | Цитировать Сообщить модератору
 Re: Проверка прав пользователя  [new]
Anap
Member

Откуда:
Сообщений: 43
Спасибо, iap. Пример можно?
17 ноя 09, 13:46    [7939491]     Ответить | Цитировать Сообщить модератору
 Re: Проверка прав пользователя  [new]
Anap
Member

Откуда:
Сообщений: 43
Действительно все просто. Спасибо.

CREATE PROCEDURE dbo.Proc1 (@Object nvarchar(50))
AS

Declare @strSQL as nvarchar(4000)


SET @strSQL='USE MyBase' +char(13)

SET @strSQL=@strSQL+'SELECT PERMISSIONS(OBJECT_ID('+char(34)+@Object+char(34)+')) AS N'

exec (@strSQL)
17 ноя 09, 14:16    [7939712]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить