Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Права юзерей, на уровне полей таблиц. [D5, D6, IB5.x, IB6.x]


Victor_Cr ©   (2002-11-29 14:07:00) 

Проблема такова: желательно было бы раздать права пользователям не только на таблицы, а и на поля этих таблиц. А еще сложнее обработать все это из-за того, что некоторые данные должны вноситься (на которые пользователь имеет право), а некоторые нет. Все изменения в БД заносятся с помощью транзакций, а значит она отвергается если отвергается хотя бы часть данных. Идеи были разные, но хотелось бы чего-то неземного, простого.

К примеру: таблица с информацией про пользователя (к каким полям он имеет доступ на чтение, запись, добавление и удаление). Но проблема здесь - всю информацию о правах нужно вынести на сервер (двухзвенка клиент-сервер). Тогда обрабатывать нужно все либо в ХП либо в тригерах, а это тянет за собой создание огромного количества этих самых ХП или тригеров.

Затем есть вариант выделения среднего уровня (т.е. Application Server), все это тогда будет обрабатываться на среднем уровне, и часть проблем с сервера баз данных снимаеться, но появляются новые - перевод всего проэкта под трехзвенную структуру.

И есть сумашедшая идея (развитие первой...) - создание своей функции (благо IB это позволяет), которая будет возвращать новое значение, если пользователь имеет право вносить изменение, и старое - если нет.

А сам вопрос таков... Оцените, пожалуйста, эти творческие порывы, и если кто-то согласен поделиться опытом, знаниями, ссылками и т.д. (правда желательно без сторонних компонент, но это не обязательно) я буду рад практически любым предложениям.

Спасибо за участие.


asmith   (2002-11-30 17:49:00) [1]

Или написать несколько View для разных категорий пользователей


ЮЮ   (2002-11-30 07:42:00) [2]

Если структура таблицы получилась такая, что пользователь имеет разные права доступа к разным столбцам записи, значит структура неправильная. Раздели таблицу на две со связью "один к одному" - теперь ты можешь дать разные права разным пользователям к разным таблицам (а не столбцам)


Victor_Cr   (2002-11-29 22:53:00) [3]

2 asmith (29.11.02 18:03)
Спасибо за ответ. Я тоже так считаю. Лучше некоторое время потратить на перевод проэкта под трехзвенную структуру, чем мучиться потом с изменением (не дай Бог) всей бизнес-логики на клиентах. Но это глобальная стратегия, а мне "жевательно" это сделать быстро... Может еще предложения будут. Но все рано спасибо.


asmith   (2002-11-29 18:03:00) [4]

ИМНО "таблица с информацией про пользователя (к каким полям он имеет доступ на чтение, запись, добавление и удаление)" в базе данных, а "обрабатываться на среднем уровне", т. е. на сервере приложений.


Victor_Cr   (2002-11-29 16:25:00) [5]

Но все-таки может есть другие предложения. Понимаю что вопрос несколько специфический, но... Подскажите путь истинный.


Victor_Cr   (2002-11-29 14:47:00) [6]

Спасибо и на том. :-)


Alexandr   (2002-11-29 14:10:00) [7]

понятно.
Придумывай свою механизьму для этого.
Т.к. обобщенных решений нет, а частные тебе не подойдут.


Наверх

Титульная страница Поиск, карта сайта Написать письмо