Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];

Вниз

Разграничение доступа к записи   Найти похожие ветки 

 
dim- ©   (2004-05-27 12:06) [0]

Народ посоветуйте как лучьше
Необходимо организовать разграничение доступа к записям, т.е. одна запись для одного пользователя отображается, а для другого нет. например: одну запись могут смотреть 10 пользователей, другую 5, третью все.


 
Vit@ly ©   (2004-05-27 12:28) [1]

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


 
Skyle ©   (2004-05-27 13:12) [2]

А create view не подойдёт?


 
Vlad ©   (2004-05-27 13:16) [3]


> dim- ©   (27.05.04 12:06)  

ИМХО, тут надо создавать таблицу пользователей и групп пользователей, и затем уже в основной таблице, в каждой записи проставлять идентификатор группы


 
Skyle ©   (2004-05-27 13:20) [4]


> в каждой записи проставлять идентификатор группы

Администратор не вздёрнется? :-)
Мне его уже жаль...
Хотя тут всё зависит, конечно, от количеств групп и записей.


 
Vlad ©   (2004-05-27 13:23) [5]


> Skyle ©   (27.05.04 13:20) [4]

Ну всё равно кто-то должен вручную проставлять какие-то ограничения, при любом раскладе. Автоматически ведь это не реализуешь


 
paul_k ©   (2004-05-27 13:38) [6]

Vlad ©   (27.05.04 13:23) [5]
ну, если реализовать ещё типы документов, статусы и так далее то можно и автоматизировать часть этого процесса при вводе.
к типу А в статусе Б имеет доступ группа С и так далее..


 
DenK_vrtz ©   (2004-05-27 13:45) [7]

>dim- ©   (27.05.04 12:06)

В лоб такие задачи не решаются.
Должна быть жестко продумана политика администрирования системы и разграничения прав доступа к данным.

см., как вариант, Vlad ©   (27.05.04 13:16) [3].

>Skyle ©   (27.05.04 13:20) [4]
>Администратор не вздёрнется? :-)

так на то он и администратор :)


 
Skyle ©   (2004-05-27 13:58) [8]

Может кто не понял, но я нисколько не против варианта
> Vlad ©   (27.05.04 13:16) [3]
. Это один из самых железных способов получить то, что нужно. Просто возникла мысль, что так туманно заданный вопрос можно решить проще. Идея предложенная мной реализуема только в случае возможности алгоритмизации разделения данных по группам пользователей (чтобы была возможность написать/сформировать запрос, создающий этот самый VIEW).


 
dim- ©   (2004-05-28 00:13) [9]

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


 
dim- ©   (2004-05-28 11:50) [10]

может кто хоть статейки на тему видел?


 
Sandman25+1   (2004-05-28 12:50) [11]

[9] dim- ©   (28.05.04 00:13)

Это можно реализовать замещением. Для пользователя указывается, кого он замещает, то есть чьи записи он может видеть.


 
dim- ©   (2004-05-28 16:19) [12]

а как сделать чтобы записи могли видеть все по направлению
например:
Направление - "Торговый зал"
       отдел - "Менеджеры"
               - Иванов
               - Петров
             - "Продавцы"
               - Сидоров
               - Федоров

Доступ дан "Торговый зал", а я Петров и должен видеть.


 
paul_k ©   (2004-05-28 17:18) [13]

Группы пользователей.
Роли.
Четкая иерархия пользователей.
и так далее
пример
1.
Если документ вводит Вася то у Васи есть доступ на редактирование и просмотр.
у руководителя Васи есть доступ на просмотр
и так далее вверх.
2.
Если документ вводит Вася то у Васи есть доступ на редактирование и просмотр.
У членов группы, в которую входит Вася есть доступ на просмотр

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


 
dim- ©   (2004-05-29 01:39) [14]

с четкой иерархией понятно, как это реализовать средствами sql


 
Сергей Суровцев ©   (2004-05-29 02:08) [15]

>dim- ©   (29.05.04 01:39) [14]
>с четкой иерархией понятно, как это реализовать средствами sql

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


 
paul_k ©   (2004-05-29 14:37) [16]


> dim- ©   (29.05.04 01:39) [14]

запросами, естественно.
плюс смотреть на

> paul_k ©   (27.05.04 13:38) [6]
> Сергей Суровцев ©   (29.05.04 02:08) [15]

И, наверное, Вам придется перестроить всю структуру БД.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.035 c
8-1081104441
Xavier
2004-04-04 22:47
2004.06.20
Обработа цифрового звукового сигнала (сдвиг частоты).


6-1083418030
Dimman
2004-05-01 17:27
2004.06.20
Kylix и MailSlotы


9-1077523374
Saturn
2004-02-23 11:02
2004.06.20
Очистка Image.


1-1086416823
Andriy Tysh
2004-06-05 10:27
2004.06.20
VirtualDBTree or VirtualDBTreeEx -> Demo


1-1086594204
Прямой
2004-06-07 11:43
2004.06.20
Вопрос про TThread





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский