powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Получить права пользователя к таблице
7 сообщений из 7, страница 1 из 1
Получить права пользователя к таблице
    #32020485
Всем привет,

Возникла такая проблема: нужно определеть права доступа пользователя к определнной таблице до выполнения SELECT, INSERT, UPDATE, DELETE, когда sp_helprorect возвращает nulls .Подскажите как лучше выйти из положения: пробежать по всем ролям, группам и проч (если можно попродробнее) или обработать ошибки выполнения с последующим ROLLBACK?

Прошу прощения, если это FAQ. Если есть в BOL, прошу указать номер страницы.
Заранее спасибо.

PS SQL Server 7, если это имеет значение.
...
Рейтинг: 0 / 0
Получить права пользователя к таблице
    #32020495
Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос выглядит так, будто человек хочет пролезть туда, куда он незнает, можно ли ему ...или нет....
Есть процедуры sp_helpuser,sp_helplogins.....
А как sp_helprotect может вернуть NULL ?
...
Рейтинг: 0 / 0
Получить права пользователя к таблице
    #32020497
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Очередной чайник

А нафига это нужно? Чем не устраивает система безопастности сервера?
...
Рейтинг: 0 / 0
Получить права пользователя к таблице
    #32020504
2 Владимир: действительно, так и есть. Есть приложение-клиент, которое совершенно не знает, какие права установил администратор текущему пользователю, к каким группам он принадлежит и т.д. Просто хотелось бы в клиенте заглушить кнопки для вызова соответствующих опрераций, а не выводить сообщение о отсутствии прав доступа, после того, как юзер корпел над вводом данных. Вот мне и нужно просто узнать, что можно, а что нельзя в отношениии конкретной таблицы, sp_helpuser,sp_helplogins такой информации не дают. А с sp_helprotect видимо я что-то напутал, возможно в некоторых случаях она возвращала мне 0 записей.

2 Genady: на первый вопрос я вроде бы попытался ответить. А со вторым проблем нет, все устаривает.
...
Рейтинг: 0 / 0
Получить права пользователя к таблице
    #32020521
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CREATE proc dbo.sp_AllRights
@UserName sysname
AS

CREATE TABLE #UserInRoles (UserName sysname, GroupName sysname, LoginName sysname NULL,
DefDBName sysname NULL, UserID smallint, SID smallint)
INSERT #UserInRoles exec sp_helpuser @UserName

ALTER TABLE #UserInRoles drop column UserName, LoginName, DefDBName, UserID, SID
INSERT #UserInRoles (GroupName) values ('public')

CREATE TABLE #RightsOnObjects (Owner sysname, Object sysname, Grantee sysname, Grantor sysname,
ProtectType char(10), [Action] varchar(20), [Column] sysname NULL)
INSERT #RightsOnObjects exec sp_helprotect

SELECT * FROM #RightsOnObjects
WHERE Grantee IN (SELECT GroupName FROM #UserInRoles) OR Grantee = @UserName
ORDER BY Object, Action, [Column], ProtectType
GO
...
Рейтинг: 0 / 0
Получить права пользователя к таблице
    #32020561
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я правильно понял вопрос, то Вас вполне устроит системная функция PERMISSIONS.
Подробнее в BOL...
...
Рейтинг: 0 / 0
Получить права пользователя к таблице
    #32020589
Всем спасибо!
PERMISSIONS меня вполне устроит, но и вариант от Glory в некоторых случаях будет очень кстати.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Получить права пользователя к таблице
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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