Форум: "Базы";
Текущий архив: 2002.12.19;
Скачать: [xml.tar.bz2];
Вниз
Права юзерей, на уровне полей таблиц. Найти похожие ветки
← →
Victor_Cr (2002-11-29 14:07) [0]Проблема такова: желательно было бы раздать права пользователям не только на таблицы, а и на поля этих таблиц. А еще сложнее обработать все это из-за того, что некоторые данные должны вноситься (на которые пользователь имеет право), а некоторые нет. Все изменения в БД заносятся с помощью транзакций, а значит она отвергается если отвергается хотя бы часть данных. Идеи были разные, но хотелось бы чего-то неземного, простого.
К примеру: таблица с информацией про пользователя (к каким полям он имеет доступ на чтение, запись, добавление и удаление). Но проблема здесь - всю информацию о правах нужно вынести на сервер (двухзвенка клиент-сервер). Тогда обрабатывать нужно все либо в ХП либо в тригерах, а это тянет за собой создание огромного количества этих самых ХП или тригеров.
Затем есть вариант выделения среднего уровня (т.е. Application Server), все это тогда будет обрабатываться на среднем уровне, и часть проблем с сервера баз данных снимаеться, но появляются новые - перевод всего проэкта под трехзвенную структуру.
И есть сумашедшая идея (развитие первой...) - создание своей функции (благо IB это позволяет), которая будет возвращать новое значение, если пользователь имеет право вносить изменение, и старое - если нет.
А сам вопрос таков... Оцените, пожалуйста, эти творческие порывы, и если кто-то согласен поделиться опытом, знаниями, ссылками и т.д. (правда желательно без сторонних компонент, но это не обязательно) я буду рад практически любым предложениям.
Спасибо за участие.
← →
Alexandr (2002-11-29 14:10) [1]понятно.
Придумывай свою механизьму для этого.
Т.к. обобщенных решений нет, а частные тебе не подойдут.
← →
Victor_Cr (2002-11-29 14:47) [2]Спасибо и на том. :-)
← →
Victor_Cr (2002-11-29 16:25) [3]Но все-таки может есть другие предложения. Понимаю что вопрос несколько специфический, но... Подскажите путь истинный.
← →
asmith (2002-11-29 18:03) [4]ИМНО "таблица с информацией про пользователя (к каким полям он имеет доступ на чтение, запись, добавление и удаление)" в базе данных, а "обрабатываться на среднем уровне", т. е. на сервере приложений.
← →
Victor_Cr (2002-11-29 22:53) [5]2 asmith (29.11.02 18:03)
Спасибо за ответ. Я тоже так считаю. Лучше некоторое время потратить на перевод проэкта под трехзвенную структуру, чем мучиться потом с изменением (не дай Бог) всей бизнес-логики на клиентах. Но это глобальная стратегия, а мне "жевательно" это сделать быстро... Может еще предложения будут. Но все рано спасибо.
← →
ЮЮ (2002-11-30 07:42) [6]Если структура таблицы получилась такая, что пользователь имеет разные права доступа к разным столбцам записи, значит структура неправильная. Раздели таблицу на две со связью "один к одному" - теперь ты можешь дать разные права разным пользователям к разным таблицам (а не столбцам)
← →
asmith (2002-11-30 17:49) [7]Или написать несколько View для разных категорий пользователей
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.12.19;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c