|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
Здравствуйте, Разрабатываем БД (СУБД PostgreSQL) и клиентские приложения ( 2-х звенка ). На данный момент пользователей около 50 и уже становится не очень удобно раздавать права, а что будет когда пользователей перевалит за 100 трудно представить. Вроде ничего сложного: 1)Определил необходимые роли для пользователей 2)Создал эти роли/группы 3)Даешь пользователям необходимые роли Но сейчас раздачей прав занимается администратор БД и возникла необходимость переложить или отдать часть этой работы другому человеку. К тому же сложность в выделении конкретного списка ролей по обязанностям. Как я это вижу: Создается приложение в котором пользователь галками проставляет пользователям необходимые права. Пользователь этой программы понятия может не иметь о структуре БД, функциях и т.д., он оперирует действиями предметной области. То есть на экране он видит нечто "Создание договоров", "Редактирование спецификации", "Просмотр заявок своего подразделения" и т.д. При отметке соответствующего пункта пользователю даются необходимые права на объекты БД, которые связаны с этим действием. На данный момент две идеи: 1)Описывается связь между операциями над системными объектами и операциями(предм. область) Смотрим (Упрощенно) Создаются таблицы: operations (Операции/действия применительно к предметной области) id opname1 Просмотр номенклатуры2 Редактирование спецификаций user_operation (Назначение операций ролям) role_name operation_idvasya 1vasya 2 db_objects (Объекты БД) id obj_name obj_type999 PRODUCT TABLE db_operations (Операции с объектами БД: SELECT, EXECUTE, UPDATE, etc.) id dbop_name dbop_define5 'ВЫБОРКА' 'SELECT' dbobj_operation (Определение необходимых действий над системными объектами для операции) operation_id db_operation_id db_object_id1 5 999 И теперь вся работа по раздаче прав ведется через приложение, которое при проставлении галочек формирует SQL запрос(GRANT/REVOKE) на необходимые объекты и выполняет его. Админу необходимо только заполнять таблицу связи операций с объектами БД (dbobj_operation). 2) В качестве операций используются специально созданные роли Смотрим Так же создается таблица операций operations (Операции/действия применительно к предметной области) id opname1 Просмотр номенклатуры2 Редактирование спецификаций Но привязывать операции буду к специально созданным ролям/группам. user_operation (Назначение операций ролям) priv_role_name operation_idpriv_product_select 1priv_edit_sp 2 То есть создаются специальные группы/роли, например с префиксом priv_ для того, что бы отличать их от обычных ролей. Этим ролям (priv_*) админом раздаются необходимые права на объекты БД. А приложению при проставлении/снятия галочки останется только включить/исключить реального пользователя в эту группу. Пример: есть таблица - product роль пользователя - vasya привилегия(роль) - priv_product_select Операция - Просмотр номенклатуры Админ дает Код: plaintext
В силу простоты мне больше нравится 2 вариант, но настораживает использование ролей не совсем так как задумано и большим количеством этих ролей. Насколько разумно использовать роли в таких целях? Хочется услышать/получить совет как решают подобные задачи(раздачу прав) профессионалы. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2010, 19:34 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
Хотелось бы узнать как вы реализовали это ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2012, 15:53 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
westvovik, ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2012, 11:35 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
Сколь угодно сложную систему прав можно реализовать одной, совсем не широкой таблицей. Суть крайне проста: ИмяПрава, ИД юзера, ИД типа объекта, значение(целое число, можно использовать как битовую маску). Если добавить строчное/флоат/дата поля, то в добавок там же можно хранить различные индивидуальные параметры для юзера. У каждого юзера индивидуальный набор прав. Можно иметь "эталонных" юзеров, чтоб с них копировать типичные наборы прав. В коде (как в приложении так и в SQL) достаточно вызвать функцию: IsMyRight('Документ', MyUserID, ID типа документа "КарточкаТовара") = .... чтоб узнать, что можно юзеру делать, например с карточкой товара. И т.д. У нас есть "Документ", "Репорт" и прочие права (что-то типа "ЗапретПравитьЧужуюКарточку", "ВидетьЧужуюХХХХХНакладную" и т.д.). ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2012, 12:15 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
LSVСколь угодно сложную систему прав можно реализовать одной, совсем не широкой таблицей. Ну в принципе любую сколь угодно сложную систему чего угодно можно реализовать одной таблицей с одним полем и одной записью. Тем не менее, я был бы несколько осторожнее в утверждениях. Например, в этой "неширокой таблице" будет немного проблематично реализовать такой полезный функционал как "на время отпуска сотрудника X некую операцию от его имени может делать сотрудник Y". Есть и другие моменты, например "документы на сумму до X cотрудник может утверждать самостоятельно, для документов с суммой от X до Y при попытке утверждения автоматически запрашивается разрешение от начальника, а больше Y вообще нельзя". ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2012, 13:02 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
Не, Сахават, так не канает. Сначала вам придется описать сущности и элементарные действия. Кстати и о метамодели: выделяемые сущности должны в нее вписываться. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2012, 13:45 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
guest_20040621, не въехал, обясни ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2012, 14:58 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
> не въехал, обясни Вместо "Настройка форм" у вас будет что-то типа: роль -> модуль -> интерфейс -> действия. Элементы интерфейса есть смысл описать как расширение метамодели. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2012, 18:15 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
guest_20040621, "Настройка форм" означает, что пользователь может перенастроить внешний вид любой доступной ему формы (визуальное представление макротипа) (сами формы генерируются автоматически) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2012, 18:52 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
ViPRos, тут у меня не хватает одного слоя репозитария (что типа пользователи - модератора роли, могут создать изменения для всей роли) тогда можно было бы пользователю совать не автоформы, а формы настроенные модератором-дизайнером роли сделаю как нить ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2012, 19:00 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
guest_20040621> не въехал, обясни Вместо "Настройка форм" у вас будет что-то типа: роль -> модуль -> интерфейс -> действия. Элементы интерфейса есть смысл описать как расширение метамодели. Роли зачастую очень неудобны. Приложнение -> модуль->действие->разрешения/запрещения для группы и/или пользователя ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2012, 10:58 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
softwarerНапример, в этой "неширокой таблице" будет немного проблематично реализовать такой полезный функционал как "на время отпуска сотрудника X некую операцию от его имени может делать сотрудник Y". Есть и другие моменты, например "документы на сумму до X cотрудник может утверждать самостоятельно, для документов с суммой от X до Y при попытке утверждения автоматически запрашивается разрешение от начальника, а больше Y вообще нельзя". это смешивание в одну кучу различных сущностей. Первое реализуется элементарной опцией "активности" разрешения и штатными для подобных систем условиями И-ИЛИ . Второе, вообще типичная прикладная задача из области документооброта и визирования. Рассматривание этого с позиций системы управления доступом - типичная ошибка, когда что-то применяется не по назначению . Ввиду этого, самостоятельно создаются трудности, а затем, героически преодолеваются. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2012, 11:36 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
SeVa, "Приложение" в ВИПРОС - понятие "гулящее" Вот дали тебе права на набор макротипов и их методы - и это твое "приложение" "Модуль" воще ни о чем не говорит - метод може быть описан где угодно (хоть в собственной папке пользователя в виде текста, который доступен только для него), кто угодно может расширить-заменить метод (при соответствующих правах) вощеи имеется изменяемый набор кирпичиков (типы, макротипы и их методы (хотя не их и вовсе, а приданные из которых для каждого можно собрать что угодно потому права и даются на эти кирпичики при этом функциональность этих кирипичиков можно ограничить для каждого через правила и фильтры ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2012, 11:37 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
ViPRos, что бы поля читались нормально продублирую ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2012, 11:41 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
iscrafm__Первое реализуется элементарной опцией "активности" разрешения и штатными для подобных систем условиями И-ИЛИ . Мне кажется, что Вы в стремлении возразить немного забыли, о чём мы вообще говорим. Реализовать можно всё, и почти всё - не особенно сложно. Вопрос в том, что "одна неширокая таблица" при этом начинает "расширяться". iscrafm__Второе, вообще типичная прикладная задача из области документооброта и визирования. Рассматривание этого с позиций системы управления доступом - типичная ошибка, когда что-то применяется не по назначению . Не соглашусь. Представьте себе, что Вы через дверь уговариваете пятилетнюю двоюродную племянницу пустить Вас в квартиру - вот и система управления доступом. И если она бежит "бабушка, там кто-то говорит, что он двоюродный дядя" - это что, использование не по назначению? iscrafm__Ввиду этого, самостоятельно создаются трудности, а затем, героически преодолеваются. Для эротических фантазий у нас предусмотрен другой форум. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2012, 11:48 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
softwareriscrafm__Ввиду этого, самостоятельно создаются трудности, а затем, героически преодолеваются. Для эротических фантазий у нас предусмотрен другой форум. у кого у вас и к чему это вообще ляпнуто? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2012, 11:54 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
iscrafm__у кого у вас У адекватных подписчиков sql.ru iscrafm__и к чему это вообще ляпнуто? К тому, чтобы Вы несли их туда и не замусоривали ими проффорум. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2012, 11:57 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
softwareriscrafm__Первое реализуется элементарной опцией "активности" разрешения и штатными для подобных систем условиями И-ИЛИ . Мне кажется, что Вы в стремлении возразить немного забыли, о чём мы вообще говорим. Реализовать можно всё, и почти всё - не особенно сложно. Вопрос в том, что "одна неширокая таблица" при этом начинает "расширяться". мне кажется, что ты в стремлении возразить немного забываешь о чем речь идет. Тебе конкретно сказано, что твой пример с "сотрудник в отпуске" элементарно решается, а твой пример с "суммами" - вообще из другой области. softwareriscrafm__Второе, вообще типичная прикладная задача из области документооброта и визирования. Рассматривание этого с позиций системы управления доступом - типичная ошибка, когда что-то применяется не по назначению . Не соглашусь. Представьте себе, что Вы через дверь уговариваете пятилетнюю двоюродную племянницу пустить Вас в квартиру - вот и система управления доступом. И если она бежит "бабушка, там кто-то говорит, что он двоюродный дядя" - это что, использование не по назначению? не соглашайся, твое право. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2012, 12:01 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
Ладно, Валер, выпей уже и успокойся. Полезней будет. Dixi. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2012, 12:04 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
iscrafm__, Валер, а как в Искре устройство прав? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2012, 12:09 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
softwareriscrafm__у кого у вас У адекватных подписчиков sql.ru iscrafm__и к чему это вообще ляпнуто? К тому, чтобы Вы несли их туда и не замусоривали ими проффорум. ты себя после такого считаешь адекватным? мда... Здесь адекватных практически не осталось. Но к теме это не относится. Если ты не понимаешь о чем речь идет, то лучше не встревай в разговор. Это элементарное правило надеюсь понятно для тебя? Бабушка...пятилетняя племянница... образец адекватного подписчика (слово то какое придумал)... по теме: 1. Твой пример №1 элементарная задача 2. Твой пример №2 вообще не относится к задачам, обсуждаемым в теме. Так твой проффорум меньше захламляется? Или нет упоминания о бабушках и племянницах, не подходит? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2012, 12:09 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
softwarerЛадно, Валер, выпей уже и успокойся. Полезней будет. Dixi. я не пью, с утра. спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2012, 12:10 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
ViPRosiscrafm__, Валер, а как в Искре устройство прав? Сахават, Пользователи...Профили -> а-ля Роли. Профиль определяет полный "контент" (содержание) того, что получает пользователь в свое распоряжение, т.е. никаких матриц, в классическом понимании, не существует. Пользователь может воспользоваться содержанием одного или нескольких профилей. "Кто он" сейчас определяется в момент регистрации в системе. Действует так называемое "динамическое разделение обязанностей", "временное ограничение обязанностей", в классических терминах ролевого доступа. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2012, 12:28 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
iscrafm__, ясно ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2012, 12:40 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
> Роли зачастую очень неудобны Вы не умеете их готовить. Никаких других эффективных способов ограничения доступа до сих пор не придумали. Вопрос на самом деле заключается в том, как именно вы определяете функционально законченные элементы приложения. Регистрация исключений - часть ролевой модели. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2012, 13:45 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
+` guest_20040621> Роли зачастую очень неудобны Вы не умеете их готовить. Никаких других эффективных способов ограничения доступа до сих пор не придумали. Вопрос на самом деле заключается в том, как именно вы определяете функционально законченные элементы приложения. Регистрация исключений - часть ролевой модели. Роли - полова. Сколько их не готовь, всегда найдется сотрудник в качестве исключения. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2012, 14:28 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
SeVaРоли - полова. Сколько их не готовь, всегда найдется сотрудник в качестве исключения. И в чём проблема? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2012, 14:31 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
> найдется сотрудник в качестве исключения Но читать-то вы умеете? Написано на хорошем русском языке: "Регистрация исключений - часть ролевой модели". ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2012, 14:57 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
guest_20040621> найдется сотрудник в качестве исключения Но читать-то вы умеете? Написано на хорошем русском языке: "Регистрация исключений - часть ролевой модели". Было бы что читать. Роли только в мозгах айтишников и извращений в виде UserInRoles("пользователь","супер-пользователь","cупер-пупер-пользователь", "мега-пользователь", //прочая ерунда, которая постоянно меняется) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2012, 16:36 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
SeVa, ерунду говоришь роль -регламентированная часть жизни актера актер в роли имеет права и обязанности остальная его жисть нас не ебе другое дело, что отечественные ИТ больше волнует права, а не обязанности (что связано с моделью бызнеса) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2012, 16:43 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
SeVa[//прочая ерунда, которая постоянно меняется) назывется - жисть ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2012, 16:44 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
ViPRosSeVa, ерунду говоришь роль -регламентированная часть жизни актера актер в роли имеет права и обязанности остальная его жисть нас не ебе другое дело, что отечественные ИТ больше волнует права, а не обязанности (что связано с моделью бызнеса) Я видел только должностные инструкции, в них нет никаких актеров и ролей. На одну и ту же кнопку, чтобы выполнить конкретное действие, могут нажимать сотрудники совершенно разных отделов и исключений может быть вагон и маленькая тележка. Если задавать права не на конкретные действия, а на роли, то будет полная каша с мега-ролями и постоянные правки в коде ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2012, 16:54 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
SeVa, потому не надо ничего кодировать по возможности ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2012, 17:04 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
вощем во всем виноваты кодд и буч свое частичное видение мира навязали целому миру гады ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2012, 17:15 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
Главных требований к системе ограничения доступа по сути два: Она должна давать возможность описать любую возможную конфигурацию хотелок пользователя Эта конфигурация должна описываться по возможности минимальным количеством правил Первое требование делает систему работоспособной, второе - управляемой. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2012, 17:20 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
> Роли только в мозгах айтишников и извращений в виде UserInRoles Дружище, вы долбо^б. С чем вас и поздравляю. Дальше можете не читать. Для всех остальных: роль - это как раз и есть сущность реального мира. Оформленные законодательно права и обязанности или должностные инструкции - в основе любого регламента лежит деперсонифицированный набор ограничений. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2012, 18:10 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
guest_20040621> Роли только в мозгах айтишников и извращений в виде UserInRoles Дружище, вы долбо^б. С чем вас и поздравляю. Дальше можете не читать. Для всех остальных: роль - это как раз и есть сущность реального мира. Оформленные законодательно права и обязанности или должностные инструкции - в основе любого регламента лежит деперсонифицированный набор ограничений. долбо^бам приходится разжевывать все сорок восемь раз. Бывают не только ограничения, а еще и дополнительные разрешения, которые ни в какую роль не укладываются. Тогда подобным умникам приходится плодить псевдо роли или разводить лапшу в коде. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2012, 18:21 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
Я ошибся. Не просто долбо^б, а уникальный долбо^бище. > Бывают не только ограничения, а еще и дополнительные разрешения Дружище, больше функционала, чем есть в приложении, взять неоткуда. Теоретический максимальный уровень привилегий - неограниченный доступ. Все остальные роли - набор ограничений. В сад. Сделайте одолжение, не пишите здесь ничего. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2012, 20:20 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
Совершенно точно, дружище. Незаменимых у нас нет, кухарки руководят страной, создают роль Президент, а потом лузеров с плохим поведением, лишают привилегии "Моет полы" ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2012, 01:44 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
SeVa, вы напрасно думаете, что в политике разбираетесь лучше, чем в проектировании. Ваша квалификация - проблемы вашего работодателя, а не мои. Но вот форум "Разработка информационных систем" я иногда читаю и мне не хочется видеть здесь сообщения таких баранов, как вы. Видите ли, SeVa, если бы вы не были настолько дремучим, вы бы понимали, что качество обсуждения непосредственно зависит от уровня подготовки его участников. Так что еще раз просьба: пожалуйста, ничего здесь не пишите. Найдите себе собеседников, соответствующих уровню ваших знаний. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2012, 13:23 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
Если твое качество привыкло жевать только одну жвачку и ничего больше усвоить не может, то это твои проблемы. Жуй спокойно без истерического мычания на этом форуме, это плохо для пищеварения ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2012, 00:48 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
Она должна давать возможность описать любую возможную конфигурацию, разрешенных правилами , хотелок пользователяпоправил :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2012, 10:52 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
LSVОна должна давать возможность описать любую возможную конфигурацию, разрешенных правилами , хотелок пользователяпоправил :) Если под "правилами" понимается нечто внутреннее в системе, то это очень плохая поправка. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2012, 11:07 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
softwarer Она должна давать возможность описать любую возможную конфигурацию хотелок пользователя Если система дает возможность описать любую возможную конфигурацию хотелок пользователя, тогда да, но если в систему заложена определеннная модель, то модель доступа - это только ее часть. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2012, 16:30 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
_модно если в систему заложена определеннная модель, То у связанных с ней начинаются истерики в духе СеВы. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2012, 16:33 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
softwarer_модно если в систему заложена определеннная модель, То у связанных с ней начинаются истерики в духе СеВы. Неа, sql.ru - мой любимый форум. Нужно только посоветовать переросткам выбросить их кривую, детскую рогатку и юморина обеспечена. Шум, крик, гам, топонье ножками - Дом-2 с профессиональным уклоном. Очень занимательно. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2012, 21:51 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
> Очень занимательно. Не-не-не, дружище, вы все понимаете неправильно. Мейнстрим текущего времени - безотносительно вида деятельности или области знаний - непрофессионализм в диапазоне от легкого маразма до откровенной тупости. Здесь вы тупить не будете. Не потому, что я испытываю к вам личную неприязнь - ей неоткуда взяться, а потому, что это последний русскоязычный тематический форум, где иногда можно встретить адекватных достаточно квалифицированных людей. Читайте этот форум или найдите песочницу с себе подобными, - приемлем любой вариант. Видите ли, дружище, бараны должны чувствовать себя баранами. Это стратегически важно для естественного баланса мнений в любом социуме. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2012, 22:47 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
guest_20040621> Роли зачастую очень неудобны Вы не умеете их готовить. Никаких других эффективных способов ограничения доступа до сих пор не придумали. Вопрос на самом деле заключается в том, как именно вы определяете функционально законченные элементы приложения. Регистрация исключений - часть ролевой модели. Какой из тебя профессилонал, если ты способен сосать только один лединец пока не выпадут зубы? Твоему пустому качану даже не осилить дуальность роль->разрешения и разрешение->список ролей и/или конкретный пользователей. Элементарные вещи и то тебе неподсильны, псевдо-профи. Есть и более общие варианты в виде стандарта XACML, но твоя деревня даже не слышала об этом. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2012, 23:07 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
SeVa, чем бодаться лучше проанализируйте одну ситуации с правами в ВИП.Производство Есть так называемый способ учета в производстве- операционный учет, который организован вот как 1. Пользватели имеют право видеть процессы(операции) происходящие в определенных структурных элементах (СЭ) (цех || Участок || РМ ,...) 2. Если пользователь отмечает процесс как "выпущен (завершен)", то мы должны ометить все процессы, которые являются поставщиками этого процесса "выпущен (завершен)" (рекурсивно) Есть другой способ 1. Пользователь вводить НЗП или ГП произведенные в определенном структурном элементе (СЭ) (цех || Участок || РМ ,...), а мы должны найти все процессы (слева) и пометить их как "выпущен (завершен)" в соответствии сколичеством выпуска НЗП или ГП (рекурсивно) Есть еще способы... Но в указанных способах получается фигня с правами Так как обычно процессы-поставщики (серверы) и процессы-потребители (клиенты) происходят в разных СЭ т.е. получается, что на клиента у пользователя есть явно заданные права,а на серверы нет и если четко придерживаться способ раздачи прав ВИПРОС, то задачу не решить кончено можно было бы ввести виртуальную роль "прикладная система" и дать ей все права и тогда в нужное время можно было бы включить эту роль и формально выйти из положения, но!!! нужно предусмотреть "откат" этоих методов, а для этого ВИПРОС считывает все подлежащие откату данные в клиентский кэш, т.е. хотя пользователь и не видит эти данные, они все ж загружены в его кэш всякие трехзвенки т.д. нафиг не надо ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 00:23 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
> Какой из тебя профессилонал "Из вас", дружище. Нужно писать "из вас". С быдлом брудершафтов не пью. Дружеский совет: прежде, чем пытаться поразить словарным запасом, состоящим из аббревиатур слов на иностранном языке, выучите родной язык хотя бы на уровне начальной школы. Ну... все, пожалуй. Тратить на вас свое время больше, увы, не могу. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 01:18 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
guest_20040621> Какой из тебя профессилонал "Из вас", дружище. Нужно писать "из вас". С быдлом брудершафтов не пью. Дружеский совет: прежде, чем пытаться поразить словарным запасом, состоящим из аббревиатур слов на иностранном языке, выучите родной язык хотя бы на уровне начальной школы. Ну... все, пожалуй. Тратить на вас свое время больше, увы, не могу. Сделай одолжение. Рассказывай про мега-роли подзаборной шушере и пей с ней на брудершафт. И прежде, чем устраивать визги, закончи хотя бы вечернюю школу. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 09:20 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
ViPRos1. Пользватели имеют право видеть процессы(операции) происходящие в определенных структурных элементах (СЭ) (цех || Участок || РМ ,...) Это рещается прямой раздачей прав ViPRos2. Если пользователь отмечает процесс как "выпущен (завершен)", то мы должны ометить все процессы, которые являются поставщиками этого процесса "выпущен (завершен)" (рекурсивно) А это процедура, действующая без всяких ограничений Какие проблемы ? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 12:34 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
_мод, я же описал проблему "Процедуру" запускает пользователь (имеет право на запуск процедуры), процедура кеширует данные, на которых у пользователя нет прав ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 12:39 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
ViPRos"Процедуру" запускает пользователь (имеет право на запуск процедуры), процедура кеширует данные, на которых у пользователя нет прав Пока не очень таки понятно, в чём именно проблема. Простейший пример решения на практике такого конфликта - системные вызовы. Ну кэширует она данные, и что? До тех пор, пока (прямо написанный) кэш не возвращает их кому не следует их видеть - в чём проблема-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 12:44 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
softwarer, ну, практически это выливается в определенный психологический дискомфорт пользватель входит в систему, что бы отмечать вполненные работы, а тут на тебе - все отмечены уже кем - то как то не чисто все это ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 12:49 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
ViPRosну, практически это выливается в определенный психологический дискомфорт пользватель входит в систему, что бы отмечать вполненные работы, а тут на тебе - все отмечены уже кем - то как то не чисто все это Хм. Это уже вопрос не к реализации прав, а к чистоте бизнес-логики. Меня в Вашем описании удивило следующее: 1. Вообще-то если рассматривать дискретную модель, то непонятно, как процесс может быть начат до того, как выполнены предусловия, то есть завершены поставщики. 2. Ладно, допустим, имеется в виду параллельная работа, и процесс снимает детали с конвейера поставщика. В этом случае, по идее, они могут параллельно завершиться. Но в этом случае совершенно непонятно, почему завершение процесса-поставщика проставляет руками пользователь, а не некое автоматическое условие "выпущено деталей сколько нужно". 3. И если уж о том зашла речь, непонятно, почему процесс-поставщик в этом случае не может продолжать работать, хотя бы "впрок" или "для обеспечения другого процесса". В общем, не очень понятна модель. Но, согласитесь, это далеко от вопроса топика. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 13:13 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
softwarer, все зависит от типа производства и глубины детализации плана естественно, процесс не может быть запущен, пока поставщики процесса не обеспечили его потребность (и да - при этом не объязательно, что бы поставщики завершились (это я с целью упрощения написал "отметить"), они могут генерировать продукцию по ходу процесса, т.е. правильнее говорить не "процесс завершен", а "процесс сгенерировал нужное количество продукта") при единичном и мелкосерийном производстве возможо вести сплошной контроль процессов и сгенерированного продукта благодаря относительно большой длительности процессов и их малого количества, тут вопросов с учетом и т.д. не возникает при серийном и массовом многономенклатурном производстве контроль усложняется (нет возможности контролировать каждый процесс без средств автоматического контроля, а их в наших заводах НЕТ), потому имеется попытка учесть поток только в точках контроля (смена передела - где то контролирут только процессы перемещения, где то только процессы хранения, где то процессы помеченные как контрольная точка и т.д.), что и приводит к указанным коллизиям (нечеткие границы прав доступа пользователей к данным) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 13:46 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
ViPRosчто и приводит к указанным коллизиям (нечеткие границы прав доступа пользователей к данным) Мне всё же кажется, что тут нечёткость в мышлении, а не в правах. Поставили процессу флаг завершённости - отлично, это факт. Процесс-поставщик вероятно завершился - это вывод. Если это важно, его признак "завершился" вообще должен быть вычисляемым, и при сбросе флага у "нашего процесса" - исчезать. И никаких коллизий с кэшами и правами. Но и это ещё не всё. В первую очередь я бы задался вопросом, а нахрена вообще нужен признак завершённости, который мы смутно вычисляем из общих соображений, а на самом деле ни хрена не знаем. Чему у нас вообще соответствует процесс, можем ли мы дать зуб, что станки действительно не работают и трубы действительно не качают. Итп. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 14:37 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
softwarer, признак завершенности действительно вычислимый но что бы его вычислить надо задать все факторы, а это еще больший гемор для контроля (в процессе могут участвовать куча процессоров, в разное время процесс может дискретно (в заданные моменты времени относительно начала-конца процесса, которые тоже вычислимы) или непрерывно (начиная с заданного момента времени с заданной скоростью за определенное время) потреблять и генерировать разные продукты что бы вычислить завершение надо задать все эти факты, что утомительно потому в зависимости от скоко чего этот поставщик поставил потребителям его статус ставится либо "запущен" и "сгенерирован скоко то продукта" (и от этого вычисляются вышеуказанные факты потребления и занятости) или "завершен" (и от этого вычисляются вышеуказанные факты потребления и занятости) при этом конечно все это от фонаря - пользователь поставил галку на "завершен" процессов потребителей или ввел "скоко чего" на какой то момент сгенерировал процесс-потребитель я раншье настаивал на контроле каждого процесса (раз вы уж спректировали - спланировали этот процесс, то будьте добры и контролировать), но в реале получается, что без средств автоматического контроля это невозможно возможность агрегации процессов имеется, есть специальные алгоритмы планирующие для агрегатных процессоров практически без потерь точности, н в заводях этим алгоритмам пока не доверяют, хотя все сделать точно до инструмента, но при этом не хотя вести детальный контроль (да и невозможно это, маленьком цеху в день 6000 операций, например) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 15:00 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
ViPRos, ViPRos_мод, я же описал проблему "Процедуру" запускает пользователь (имеет право на запуск процедуры), процедура кеширует данные, на которых у пользователя нет прав Все-таки это странная проблема, видимо проблема с пониманием организации кишок системы. Не следует исходить из того что одни и те же "права" пользователя контролируются на всех уровнях обработки данных. Права относятся в итоге, с точки зрения пользователя, к тому, какое действие он может совершить в интерфейсе системы. В интерфейсе (и по должностной инструкции) он имеет права делать такие-то действия (помечать изделия как готовые), а по сути - давать добро системе на запуск последовательности определенных действий. Вы же не беспокоитесь о том, что кассир кеширует при покупке товара Ваши деньги в своей кассе, чтобы в случае возврата вернуть их Вам, хотя прав на работу с кассой у вас нет, Вы к ней не имеете непосредственного отношения. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 15:27 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
Лагман, ты по моему немного не то говоришь по аналогии в кассе №1 имеет право работать только 3 чека теперь ситуация - в кассе появились/ушли деньги и при этом никто из тех 3 чек эту операцию не совершил ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 15:39 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
операцию совершил например кассир кассы №2 ВИПРОС не дает кассиру кассы №2 такого права потому приходится дать этому кассиру права на кассу №1 и так далее или все эти права фигня полная ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 15:42 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
ViPRosно при этом не хотя вести детальный контроль У меня такое ощущение, что проблема в "спланированный процесс работы приложения столкнулся с реальностью". И надо таки искать пути перепланировать таким образом, чтобы он реальности соответствовал. Вам нужны некие признаки, чтобы использовать их в дальнейших вычислениях, если я правильно понимаю. При этом на самом деле значение этих величин - константа "ХЗ". И я бы попробовал отталкиваться от этого факта. Поставить процессу признак "неконтролируемый" и в этом случае с одной стороны не требовать его контроля, с другой - при контроле входа, питаемого неконтролируемым процессом, верить , что тот отработал. Как-нибудь так... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 15:48 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
ViPRos, но непосредственно кассир №2 не брал денег? т.е. гипотетически у него может быть кнопка "получить откуда-нибудь налик по 10 р для размена", а программа поискала и списала ему в кассу №1 из кассы №3 (или из сейфа, или из прочего непредсказуемого места, из которого можно "брать по 10р. для размена"), т.е. в общем, права кассира №2 могут расширяться до прав супермегапользователя, я правильно понял? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 15:56 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
softwarerViPRosно при этом не хотя вести детальный контроль У меня такое ощущение, что проблема в "спланированный процесс работы приложения столкнулся с реальностью". И надо таки искать пути перепланировать таким образом, чтобы он реальности соответствовал. Вам нужны некие признаки, чтобы использовать их в дальнейших вычислениях, если я правильно понимаю. При этом на самом деле значение этих величин - константа "ХЗ". И я бы попробовал отталкиваться от этого факта. Поставить процессу признак "неконтролируемый" и в этом случае с одной стороны не требовать его контроля, с другой - при контроле входа, питаемого неконтролируемым процессом, верить , что тот отработал. Как-нибудь так... да нет - построенные планы 1000 раз проанализированы и считаются приемлемыми по всем параметрам (поверь) я уже говорил, есть понятие процесс-точка контроля, тип процесса - точка контроля и т.д. допустим, есть случай где контролируются процессы перемещения, при этом процессоры такого типа процессов имею особые календари (межсменые, почасовые и т.д.) которые заставляют все межструктурные перемещения выполнить в определенное время и тем самым уменьщить размерность задач контроля много способов придумано просто я заметил что эти способы нарушают систему раздачи прав на данные а так спасибо, что потратил время ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 16:00 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
Лагман, да ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 16:04 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
А почему не хотите давать права на действия (т.е. те же пресловутые роли), вместо прав на данные? У меня в таких схемах дискомфорт от того что непонятно, когда процессу (коду) нужно работать с данными, доступ к которым зависит не от задачи а от текущего пользователя. Например при обучении вождению можно водить машину, хотя вобще, на трассе - нельзя. А в вашей системе прав видимо нельзя водить машину всегда, даже если на обучении, в итоге вы даете права водить везде, хотя на самом деле нужно только на обучении. И так и так дискомфорт. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 16:31 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
Лагман, /topic/760944&pg=1 права даются на данные и на действия только действие над данными ограничивается правами на данные ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 16:45 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 16:46 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
во блин 12724150 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 16:47 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
ViPRos, ViPRos действие над данными ограничивается правами на данные Все-таки это, имхо, лишнее. Впрочем, как знаете. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 16:52 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
ViPRosтолько действие над данными ограничивается правами на данные Угу. Я уже говорил ключевое слово. Посмотрите на СУБД. Допустим, есть табличка сотрудников с пробитыми отделами и зарплатами. Допустим, пользователь Вася не должен знать зарплату конкретных сотрудников, но должен знать сумму зарплат по тому или иному отделу. Что мы делаем? Правильно, делаем вьюху с sum/group by и даём Васе права на селект из этой вьюхи. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 16:53 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
ViPRosправа даются на данные и на действия только действие над данными ограничивается правами на данные действие или разрешено или запрещено, т.е. всего два состояния. Нельзя быть "немного беременной". "Содержание" самого действия определяет то, с какими данными оно работает. Например, если есть действие "закрыть все задачи в подразделении" и пользователю выдается на него разрешение, то тот факт, что пользователю запрещен доступ ко всем данным этого подразделения отходит на второй план. Если пользователю нельзя что-то делать, то ему просто не выдается соответствующее разрешение. Или просто действие звучит по другому: завершить все задачи в подразделении, к которым у пользователя есть доступ. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 16:55 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
softwarer, ну я ж то же самое делаю но смотри вася имеет право на метод "расчет зарплаты" кончено випрос дасть васе рассчитать зарплату только для тех сотрудников, которые ему доступны но представь, что зарплата доступных васе сотрудников считается по формуле (зарплата насяльника /2), при этом насяльник васе не доступен ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 16:58 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
просто мне надо расширить понятие прав до полного (читать, видеть, менять, удалить и т.д.), а у меня сейчас только (читать, видеть прочитанное, редактировать увиденное), что бы он мог что то читать но не видеть и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 17:00 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
iscrafm__ViPRosправа даются на данные и на действия только действие над данными ограничивается правами на данные действие или разрешено или запрещено, т.е. всего два состояния. Нельзя быть "немного беременной". "Содержание" самого действия определяет то, с какими данными оно работает. Например, если есть действие "закрыть все задачи в подразделении" и пользователю выдается на него разрешение, то тот факт, что пользователю запрещен доступ ко всем данным этого подразделения отходит на второй план. Если пользователю нельзя что-то делать, то ему просто не выдается соответствующее разрешение. Или просто действие звучит по другому: завершить все задачи в подразделении, к которым у пользователя есть доступ. не нравится мне это :( ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 17:01 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
ViPRosно представь, что зарплата доступных васе сотрудников считается по формуле (зарплата насяльника /2), при этом насяльник васе не доступен И в чём проблема? Это системный вызов. У Васи есть право инициировать системный вызов. Дёрнуть за верёвочку. По этому сигналу некий робот берёт зарплату начальника и считает зарплаты сотрудников. В чём противоречие? Вот Вы сейчас сидите в браузере, который не имеет и никогда не будет иметь права взаимодействовать с сетевой картой. Но тем не менее почему-то байты, вбитые Вами в браузере, именно через сетевую карту уехали ко мне. Как так получилось? Нет, я согласен, что можно делать более гранулированную раздачу прав. То есть на данные, кроме, условно, прав "чтение-запись" выдавать "можно читать непосредственно" / "можно читать привилегированным операциям" / "можно менять непосредственно" / "можно менять привилегированным операциям". Чтобы робот не дай бог не добрался до чёрной кассы, если у Васи нет на неё прав, а права на функцию кто-то сдуру дал. Но это уже детали. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 17:04 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
ViPRosу меня сейчас только.... что бы он мог что то читать но не видеть забавная оговорка :) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 17:04 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
ViPRosчто бы он мог что то читать но не видеть Чтобы он мог инициировать доверенный процесс, который может читать. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 17:05 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
softwarer, ну да ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 17:07 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
методы универсальны типа Загрузить(Макротип) Для всех элементов Макротип сделать то то но вот Загрузить ВИПОС сразу сопоставляет с правами пользователя и загружает стоко скоко можно ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 17:09 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
softwarerна данные, кроме, условно, прав "чтение-запись" выдавать "можно читать непосредственно" / "можно читать привилегированным операциям" / "можно менять непосредственно" / "можно менять привилегированным операциям". это уже верный признак того, что в архитектуре дыры. Т.е. когда начинается "нельзя, но если присядешь 10 раз, то можно" - ищи сразу проблемы в постановке ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 17:09 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
softwarer, уменя психологический дискомфорт в указанной ситуации (с процессами) если бы допустим начальник ПДО цеха потвердил бы все операции всех участков цеха, то вроде все и в норме но когда потверждает праый участок по производственному потоку вроде бы какой то дискомфорт вдь никаких прав то по человечески нет у него лезть в работу левого участка и никаких приоритетов тоже (тоьлко проядок в сети процессов) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 17:16 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
iscrafm__это уже верный признак того, что в архитектуре дыры. Т.е. когда начинается "нельзя, но если присядешь 10 раз, то можно" - ищи сразу проблемы в постановке (пожимая плечами) Например, в Оракле есть так называемые proxy users. Такой пользователь не имеет права коннектиться непосредственно в БД, но может работать с БД через соединение, открытое c application server-а. Это приводит довольно к милой и удобной ситуации с правами: пользователь АППСЕРВЕР имеет право коннектиться к БД, но не имеет права ничего там делать (например, читать данные), пользователь ВАСЯ имеет право читать данные, но не имеет права/возможности коннектиться к БД (например, из SQL*Plus), а вместе они формируют удобную и симпатичную парочку. Если это и проблемы в постановке, то честное слово, я на них согласен ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 17:18 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
С темы съехали окончательно. У нас права даются двумя задачами. Одна лепит юзеру роли в базе данных (ASE), другая на интерфейсы. Какие окна, пункты доступны. Новые роли и интерфейсы подкидывают разработчики с версионными изменениями. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 17:18 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
Zukora, значит можно дать права на табличку Сотрудник и права на Интерфес Касса где бабки лежат ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 17:25 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
ViPRosуменя психологический дискомфорт в указанной ситуации Разделяю. Поэтому ситуации "лезет и проставляет" я бы в данном случае всеми силами постарался бы избежать. Может быть, за счёт вычисляемого признака (тупо Левый.GetЗавершён ::= Левый.ФлагЗавершён || (Правый != NULL && Правый.GetЗавершён)). Может быть, вообще вынес бы эту логику в модуль, где этот признак реально используется. Если по каким-то причинам точно надо было бы "лезть и проставлять" - думаю, я разделил бы признаки "пользователь проставил, что завершён" и "правый думает, что завершён", тогда у "правого" есть вполне естественное право "проставить, не трогая ничего больше". Тем не менее, в принципе это решаемо именно за счёт прав. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 17:26 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
softwareriscrafm__это уже верный признак того, что в архитектуре дыры. Т.е. когда начинается "нельзя, но если присядешь 10 раз, то можно" - ищи сразу проблемы в постановке (пожимая плечами) Например, в Оракле есть так называемые proxy users. Такой пользователь не имеет права коннектиться непосредственно в БД, но может работать с БД через соединение, открытое c application server-а. Это приводит довольно к милой и удобной ситуации с правами: пользователь АППСЕРВЕР имеет право коннектиться к БД, но не имеет права ничего там делать (например, читать данные), пользователь ВАСЯ имеет право читать данные, но не имеет права/возможности коннектиться к БД (например, из SQL*Plus), а вместе они формируют удобную и симпатичную парочку. Если это и проблемы в постановке, то честное слово, я на них согласен имеет право коннектится, но не имеет право ничего там делать, Вася имеет права коннектится, но не имеет права читать то, к чему подключился... Оракл просто кладезь несуразностей, которые просто исторически накапливались. А что ты думаешь ораклистам платят денег побольше? Зря ты его привел в качестве примера.. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 17:28 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
ViPRosZukora, значит можно дать права на табличку Сотрудник и права на Интерфес Касса где бабки лежат Пофигу, интерфейс вторичен. Выборка не пройдет. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 17:35 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
softwarerViPRosуменя психологический дискомфорт в указанной ситуации Разделяю. Поэтому ситуации "лезет и проставляет" я бы в данном случае всеми силами постарался бы избежать. Может быть, за счёт вычисляемого признака (тупо Левый.GetЗавершён ::= Левый.ФлагЗавершён || (Правый != NULL && Правый.GetЗавершён)). Может быть, вообще вынес бы эту логику в модуль, где этот признак реально используется. Если по каким-то причинам точно надо было бы "лезть и проставлять" - думаю, я разделил бы признаки "пользователь проставил, что завершён" и "правый думает, что завершён", тогда у "правого" есть вполне естественное право "проставить, не трогая ничего больше". Тем не менее, в принципе это решаемо именно за счёт прав. вощем ты прав, надо по хорошему создать список тапле правых процессов (нулл если непосредственный пользователь) и пользователей, которые отредактировали статус обсуживающего процесса, тогда процесс отката упростится а с правами не получится пока не введу типа "читать и менять,... но не видеть" ладно это уже формальности, так как все равно кто то меняет чьи то данные, может и не надо дополнительно ничего, просто повысить роль до полного макротипа в методе типа флажка в ЗагрузитьЧегоТо спсибо ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 17:40 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
Zukora, интерфейс не вторичен, а является визуальным представлением типа ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 17:41 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
Не знаю о каком там типе Вы говорите, но "Касса где бабки лежат" будет ему не доступна в любом представлении, если он не в роли "кассовый работник". ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 17:46 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
Zukora, токо что говорил чо это разные весчи ладно все работать надо ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 17:49 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
iscrafm__имеет право коннектится, но не имеет право ничего там делать, Вася имеет права коннектится, но не имеет права читать то, к чему подключился... Всё правильно. Как в реальном мире: гендир имеет право сесть в машину, но не имеет права рулить. А его шофёр имеет право рулить, но не имеет доступа к данным. Каждый занимается своим делом. iscrafm__Зря ты его привел в качестве примера.. Настолько зря, что даже попытка потроллить у тебя вышла сугубо формальная. Для галочки и без души. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 18:27 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
softwareriscrafm__Зря ты его привел в качестве примера.. Настолько зря, что даже попытка потроллить у тебя вышла сугубо формальная. Для галочки и без души. ты о чем вообще? Или это у тебя просто отмазка на случай когда сказать нечего? Кого троллить, зачем...? Бред какой-то. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 18:55 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
softwareriscrafm__имеет право коннектится, но не имеет право ничего там делать, Вася имеет права коннектится, но не имеет права читать то, к чему подключился... Всё правильно. Как в реальном мире: гендир имеет право сесть в машину, но не имеет права рулить. А его шофёр имеет право рулить, но не имеет доступа к данным. Каждый занимается своим делом. неудачные ассоциации. Гендир имеет право открыть дверь, не не имеет право сесть, если уж быть точнее. А шофер имеет право рулить, но не имеет право смотреть куда рулит ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 18:59 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
iscrafm__ты о чем вообще? О той фигне, которую ты начал гнать. iscrafm__неудачные ассоциации. Ну извини. Я пишу точные - чтобы реальности соответствовали. А удачны ли они с точки зрения твоих фантазий - не от меня зависит. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 19:15 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
softwareriscrafm__ты о чем вообще? О той фигне, которую ты начал гнать. iscrafm__неудачные ассоциации. Ну извини. Я пишу точные - чтобы реальности соответствовали. А удачны ли они с точки зрения твоих фантазий - не от меня зависит. какую "фигню" я "начал гнать"? Про каких-то гендиров и водителей вроде ты рассказывал, а не я. У меня не было на это счет фантазий. Если уж начал ассоциациями баловаться, то твой проксиюзер скорее пассажир рейсового автобуса, а не гендир. А вообще речь шла о том, что в реализации системы управления доступом крайне нежелательны условности. При чем здесь васи, гендиры и прочая фигня, которую ты погнал, непонятно. Ассоциативное мышление здесь не к месту. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2012, 19:51 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
До своей последней модели я использовал схему с двумя таблицами прав, каждая в три колонки 1. Object 2. Subject 3. Action и 1. Class 2. Subject 3. Action Объект - это любой объект системы: Документ, Товар, Проводка и т.д. Субъект - это пользователь/роль/персона/компания и т.д. Action - это действие над объектом: Open, Edit, Delete, Execute и т.д. Если нет необходимости раздавать права на каждый экземпляр, можно задать права сразу на весь класс объектов Субъекты выстроены иерархически. То есть шаблонные права назначены ролям, но можно для конкретного юзера переопределить. Но теперь у меня новая схема, которая НАМНОГО удобнее 1. Object 2. Subject 3. Process И никаких настроек прав, просто настройка бизнес-логики ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2012, 10:49 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
Old Nick, первый вариант был плохой (перечислять объекты ?????) второй еще хуже :) (ответственность на юзере, а делает все что делает процесс прогера) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2012, 11:03 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
ViPRos, В первом варианте не нужно конечно на каждый документ настраивать права. Там права программно раздавались. Именно поэтому перешел ко второй схеме. Юзер делает всё, что позволяет процесс. Если програмер неправильно настроил процесс, то причем тут юзер? Прогер виноват :-) Точнее аналитик, который процесс проектировал ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2012, 11:26 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
Old Nick, прогер уже ушел :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2012, 11:41 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
ViPRos, И что? Документация то осталась. То есть по вашему, если у юзера есть кнопка "Удалить БД" и он её нажал, то виноват юзер? Лучше уж Вам не программировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2012, 11:50 |
|
(СУБД) Роли как привилегия/операция
|
|||
---|---|---|---|
#18+
Old Nick, конечно юзер виноват, а кто ж еще? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2012, 11:53 |
|
|
start [/forum/topic.php?all=1&fid=33&tid=1547836]: |
0ms |
get settings: |
10ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
63ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
134ms |
get tp. blocked users: |
1ms |
others: | 333ms |
total: | 573ms |
0 / 0 |