Права доступа к записям на деталях

Добрый день!
Был создан новый раздел, в этом разделе кроме основной таблицы, еще несколько вспомогательных, которые используются как детали. Изначально поле "Группа таблиц" во вспомогательных таблицах не было установлено.
Сейчас поменялись требования к безопасности и потребовалось, чтобы при удалении прав пользователя на изменение конкретной записи в основной таблице, соответственно изменялись права доступа к записям вспомогательных таблиц, относящимся к этой записи.
Я добавил вспомогательные таблицы в нужную группу таблиц.
Что еще требуется, чтобы права во вспомогательных таблицах на уровне записей автоматически соответствовали правам записи, к которой они относятся?

Нравится

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

Добрый день!

Группа таблиц необходима в том случае, если необходимо раздавать права доступа на несколько таблиц (права на чтение/добавление/изменение/удаление). Группа таблиц никоим образом не пересекается с правами на записи (чтение/изменение/удаление/изменение доступа) в таблице.

Автоматически права в основной таблице раздела и таблицах деталей соответствовать не будут. Поэтому такой вариант решения не подойдет.

А как же решить задачу? Только писать обработку для dataset'ов всех вспомогательных таблиц?
Или как-то более удобным способом можно справиться?

Через хранимые процедуры. Например:

1. Необходимо, чтобы все таблицы деталей администрировались по записям. Это нужно чтобы таблицы прав и view создались при пересохранении таблиц деталей.

2. Необходимо на таблицу прав главной таблицы раздела создать триггер, который синхронизирует (по простому - перезаполняет) таблицы прав деталей при изменении прав на запись в главной таблице раздела.

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