Права доступа из скрипта

Коллеги, добрый день!

 

Подскажите, пожалуйста, каким образом из SQL скрипта можно узнать имеются ли у пользователя права на конкретную запись?

Нравится

3 комментария

Вообще все права валяются в Sys[#название объекта#]Right. И выбор в server studio в принципе делается 1 селектом. Если доступа к бд нет, то поможет sqlExecuter.

Если вы про раздел "SQL сценарии" в конфигураторе, то оттуда возможны только update/delete/create скрипты.

Данила, селект в Sys[#название объекта#]Right даст результат только если в таблице есть ссылка на конкретную запись объекта администрирования, в данном случае пользователя. Но если пользователь находится в организационной роли и права на запись предоставлены этой роли, то обычный селект по идентификатору пользователя не поможет. Так же обстоят дела со всеми вариантами наследования - если в его орг. роли есть функциональная роль и права на запись предоставлены функциональной роли, роли руководителей, которые наследуют все права подчиненных ролей и т.д. Скорее всего должна быть какая-то функция, которая запускается, когда пользователь переходит в раздел и ему отображаются все доступные записи с учетом наследования прав или когда пользователь пытается сохранить запись. 

Возможно кто-нибудь с этим сталкивался? 

На всякий случай - это процедура "GetOwnUserRoles"

Показать все комментарии