Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) Контроль прав доступа к данным (число прочтений - 4288 )
noxxx
Full Member
***
Отсутствует


1c++ rocks 8)

Сообщений: 239
Местоположение: Москва
Зарегистрирован: 24. Августа 2007
Пол: Мужской
Контроль прав доступа к данным
29. Октября 2008 :: 09:29
Печать  
Подошел я в создании своей системы контроля прав пользователей к контролю прав доступа к непосредственно данным. И вот теперь задумался.
Возможно ли вообще осуществлять контроль по типу "в отчет по продажам должны входить данные только по тем покупателям, куратором которых является текущий пользователь" без существенного замедления самого отчета? Плюс ко всему, механизм должен быть универсальным, т.е. "чтобы можно было с легкостью прикрутить эту систему к любому отчету"  Нерешительный
Ни кто не думал на эту тему?  Нерешительный
  
Наверх
ICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Контроль прав доступа к данным
Ответ #1 - 29. Октября 2008 :: 09:33
Печать  
noxxx писал(а) 29. Октября 2008 :: 09:29:
Подошел я в создании своей системы контроля прав пользователей к контролю прав доступа к непосредственно данным. И вот теперь задумался.
Возможно ли вообще осуществлять контроль по типу "в отчет по продажам должны входить данные только по тем покупателям, куратором которых является текущий пользователь" без существенного замедления самого отчета? Плюс ко всему, механизм должен быть универсальным, т.е. "чтобы можно было с легкостью прикрутить эту систему к любому отчету"  Нерешительный
Ни кто не думал на эту тему?  Нерешительный


Это нужно прикручивать не к отчету а к данным
  
Наверх
ICQ  
IP записан
 
noxxx
Full Member
***
Отсутствует


1c++ rocks 8)

Сообщений: 239
Местоположение: Москва
Зарегистрирован: 24. Августа 2007
Пол: Мужской
Re: Контроль прав доступа к данным
Ответ #2 - 29. Октября 2008 :: 09:37
Печать  
Nick писал(а) 29. Октября 2008 :: 09:33:
Это нужно прикручивать не к отчету а к данным


А мыслей никаких нет?
  
Наверх
ICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Контроль прав доступа к данным
Ответ #3 - 29. Октября 2008 :: 09:47
Печать  
noxxx писал(а) 29. Октября 2008 :: 09:37:
Nick писал(а) 29. Октября 2008 :: 09:33:
Это нужно прикручивать не к отчету а к данным


А мыслей никаких нет?


Ну например причем здесь вообще куратор? А если это генеральный директор как определить можно ему просматривать эти данные или нет Подмигивание
  
Наверх
ICQ  
IP записан
 
noxxx
Full Member
***
Отсутствует


1c++ rocks 8)

Сообщений: 239
Местоположение: Москва
Зарегистрирован: 24. Августа 2007
Пол: Мужской
Re: Контроль прав доступа к данным
Ответ #4 - 29. Октября 2008 :: 09:55
Печать  
Nick писал(а) 29. Октября 2008 :: 09:47:
Ну например причем здесь вообще куратор? А если это генеральный директор как определить можно ему просматривать эти данные или нет Подмигивание


Как это причем.
Это один конкретный пример того, что требуется от системы.
Конкретный менеджер по продажам в отчете по продажам должен видеть только своих клиентов. Начальник отдела продаж - все продажи по всем клиентам. Генеральный вообще всё должен видеть Улыбка Это регулируется ролью пользователя. И вот на основании этой роли и правил, привязанных к этой роли, система должна решить, что в отчет вывалятся только "эти" контрагенты, а "те" не вывалятся. Вот и ломаю голову  Смущённый
  
Наверх
ICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Контроль прав доступа к данным
Ответ #5 - 29. Октября 2008 :: 10:03
Печать  
noxxx писал(а) 29. Октября 2008 :: 09:55:
Как это причем.
Это один конкретный пример того, что требуется от системы.
Конкретный менеджер по продажам в отчете по продажам должен видеть только своих клиентов. Начальник отдела продаж - все продажи по всем клиентам. Генеральный вообще всё должен видеть Улыбка Это регулируется ролью пользователя. И вот на основании этой роли и правил, привязанных к этой роли, система должна решить, что в отчет вывалятся только "эти" контрагенты, а "те" не вывалятся. Вот и ломаю голову  Смущённый


Во уже формулировка лучше Улыбка
  
Наверх
ICQ  
IP записан
 
noxxx
Full Member
***
Отсутствует


1c++ rocks 8)

Сообщений: 239
Местоположение: Москва
Зарегистрирован: 24. Августа 2007
Пол: Мужской
Re: Контроль прав доступа к данным
Ответ #6 - 29. Октября 2008 :: 10:06
Печать  
Nick писал(а) 29. Октября 2008 :: 10:03:
Во уже формулировка лучше Улыбка


Я рад, что Вам понравилось Улыбка
Еще один пример - в журнале документов "Заявки на финансирование" появляются только те документы, в которых установлена галка "требуется утверждение" Улыбка
Может есть хоть что-нибудь почитать на эту тему?
Поиск ни к чему не привел  Нерешительный

UPD: Решил, что нужно мне RLS. Это пока долго. Пока отложили  Нерешительный
« Последняя редакция: 29. Октября 2008 :: 13:28 - noxxx »  
Наверх
ICQ  
IP записан
 
Quan
1c++ donor
1c++ power user
Отсутствует


I'm old, bald and ugly.

Сообщений: 273
Местоположение: Новосибирск -- Москва
Зарегистрирован: 20. Мая 2006
Пол: Мужской
Re: Контроль прав доступа к данным
Ответ #7 - 29. Октября 2008 :: 19:31
Печать  
noxxx писал(а) 29. Октября 2008 :: 09:29:
Подошел я в создании своей системы контроля прав пользователей к контролю прав доступа к непосредственно данным. И вот теперь задумался.
Возможно ли вообще осуществлять контроль по типу "в отчет по продажам должны входить данные только по тем покупателям, куратором которых является текущий пользователь" без существенного замедления самого отчета? Плюс ко всему, механизм должен быть универсальным, т.е. "чтобы можно было с легкостью прикрутить эту систему к любому отчету"  Нерешительный
Ни кто не думал на эту тему?  Нерешительный


У меня такая система реализована, с возможностью многоуровневого наследования прав.
Система слишком сложна, чтобы дать чёткие указания по реализации в двух словах.

Для каждого юзера на сервере хранятся в его персональных #таблицах списки доступных объектов и разрешенных действий. В течение сессии таблички изредка обновляются по таймеру (а вдруг права изменились?).
Всюду вставлена проверка на вхождение в эти таблички. Например, открывая список клиентов, юзер видит тоько клиентов из своего списка доступа (плюс, если в режиме дерева, - то ещё и папки верхнего уровня, внутри которых есть хоть один доступный ему объект)
В случае запроса отчета строится пересечение выбранных для отчета клиентов и разрешённых юзеру клиентов; если юзер хочет отчет по всем клиентам, то строится по всем разрешенным.

и т.д......
  

А для тех, кто не хотел учить SQL, господь сотворил курсоры
Наверх
 
IP записан
 
noxxx
Full Member
***
Отсутствует


1c++ rocks 8)

Сообщений: 239
Местоположение: Москва
Зарегистрирован: 24. Августа 2007
Пол: Мужской
Re: Контроль прав доступа к данным
Ответ #8 - 30. Октября 2008 :: 06:12
Печать  
Quan писал(а) 29. Октября 2008 :: 19:31:
У меня такая система реализована, с возможностью многоуровневого наследования прав.
Система слишком сложна, чтобы дать чёткие указания по реализации в двух словах.


А разрешенные клиенты для юзера указываются явно? Или могут самой системой определяться на лету исходя из каких-либо критериев?
  
Наверх
ICQ  
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Контроль прав доступа к данным
Ответ #9 - 30. Октября 2008 :: 07:41
Печать  
Вроде в демке СКАТ-а была такая вещь, как "Регистр правил", еще тут про них почитать можно: http://wiki.kint.ru/index.php/%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D...
  
Наверх
ICQ  
IP записан
 
noxxx
Full Member
***
Отсутствует


1c++ rocks 8)

Сообщений: 239
Местоположение: Москва
Зарегистрирован: 24. Августа 2007
Пол: Мужской
Re: Контроль прав доступа к данным
Ответ #10 - 30. Октября 2008 :: 07:49
Печать  
Salimbek писал(а) 30. Октября 2008 :: 07:41:
Вроде в демке СКАТ-а была такая вещь, как "Регистр правил", еще тут про них почитать можно:


Регистр правил это не то. Я говорил о правах доступа к данным.
  
Наверх
ICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Контроль прав доступа к данным
Ответ #11 - 30. Октября 2008 :: 07:58
Печать  
noxxx писал(а) 30. Октября 2008 :: 07:49:
Salimbek писал(а) 30. Октября 2008 :: 07:41:
Вроде в демке СКАТ-а была такая вещь, как "Регистр правил", еще тут про них почитать можно:


Регистр правил это не то. Я говорил о правах доступа к данным.

И почему ж не то?
  
Наверх
 
IP записан
 
noxxx
Full Member
***
Отсутствует


1c++ rocks 8)

Сообщений: 239
Местоположение: Москва
Зарегистрирован: 24. Августа 2007
Пол: Мужской
Re: Контроль прав доступа к данным
Ответ #12 - 30. Октября 2008 :: 08:00
Печать  
JohnyDeath писал(а) 30. Октября 2008 :: 07:58:
И почему ж не то?


Потому что регистр правил задает права. А мне нужно определить схему, которая будет по уже заданным правилам в регистре правил фильтровать данные.
  
Наверх
ICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Контроль прав доступа к данным
Ответ #13 - 30. Октября 2008 :: 09:20
Печать  
Ну может тогда и отчеты надо писать так, чтобы они фильтровали данные на основе заданных в РП прав?
  
Наверх
 
IP записан
 
novichek
Экс-Участник


Re: Контроль прав доступа к данным
Ответ #14 - 30. Октября 2008 :: 10:49
Печать  
ИМХО не стоит искать универсального решения на все случаи жизни. Чем универсальнее оно будет - тем будет неудобнее (в конкретном этом случае Улыбка ). Все зависит от конкретной задачи, от данных, способов их представления, и т.п... Начни делать с малого, а там уже видно будет где и что можно обобщить, упростить, "универсализировать".
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать