Форум: "Базы";
Текущий архив: 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.48 MB
Время: 0.036 c