Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
4-61886
Oleg_G
2002-11-05 22:30
2002.12.19
Вопрос в том, как можно разделить поток данных


1-61595
^Sanya
2002-12-10 11:51
2002.12.19
Создание компонента:


4-61870
ТАНАТ
2002-11-06 16:11
2002.12.19
Some qwestions about REBOOTing


6-61721
shelest
2002-10-23 12:06
2002.12.19
Кодировка писем при получении через POP3


1-61610
Ag2002
2002-12-06 16:06
2002.12.19
Значки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский