|
|
|
Матрица "Membership".
|
|||
|---|---|---|---|
|
#18+
Добрый день, коллеги! Необходимо реализовать стандартную форму администратора доступа. Тип: матрица "столбцы - роли (группы), строки - пользователи. На пересечении - чекбоксы, позволяющие установить членство пользователя в роли(группе) или отключить его". Роли могут добавляться. Пользователи, естественно, тоже. У кого есть красивая идея для реализации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 17:25 |
|
||
|
Матрица "Membership".
|
|||
|---|---|---|---|
|
#18+
Курдль, красиво, это когда на экране = модели данных. У меня модель: - у каждого польз-ля - роль оракла - сами роли имеют наследование от самого оракла. - поэтому на польз-ля стоит только навешать роль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 17:30 |
|
||
|
Матрица "Membership".
|
|||
|---|---|---|---|
|
#18+
Курдль, т.е. обычная таблица, хоть отчетная ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 17:32 |
|
||
|
Матрица "Membership".
|
|||
|---|---|---|---|
|
#18+
Petro123Курдль, красиво, это когда на экране = модели данных. У меня модель: - у каждого польз-ля - роль оракла - сами роли имеют наследование от самого оракла. - поэтому на польз-ля стоит только навешать роль. Что значит сия магическая формула? :) Моя модель - стандартнейшая из всех возможных: есть пользователи, есть роли. Пользователю может быть дано членство в одной или нескольких ролях. Так что таблица не проканает - нужна двумерная матрица. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 17:40 |
|
||
|
Матрица "Membership".
|
|||
|---|---|---|---|
|
#18+
Курдльесть пользователи, есть роли. Пользователю может быть дано членство в одной или нескольких ролях. у меня проще)))) вместо з-х ролей для одного, есть супер роль, которая включает все 3 роли)). Я же намекнул про наследование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 17:44 |
|
||
|
Матрица "Membership".
|
|||
|---|---|---|---|
|
#18+
Petro123у меня проще)))) вместо з-х ролей для одного, есть супер роль, которая включает все 3 роли)). Я же намекнул про наследование. Это хорошо, если у тебя кол-во ролей неизменное. А если изменяемое? Сколько тогда сочетаний можно составить (см. комбинаторику) :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 17:47 |
|
||
|
Матрица "Membership".
|
|||
|---|---|---|---|
|
#18+
ИМНО, зачем изобретать велосипед? Рабочее место в матричном виде понадобится лишь единожды, при внедрении. Я бы поступил проще, как это делается везде: РМ "Роли и группы" РМ "Пользователи" В первом смотрел бы кто имеет ту или иную роль, групповая операция делегирования и снятия делегирования и т.п. Во втором по конкретному пользователю имел бы вкладку - "Роли" - где птичками отмечаешь делегированные пользователю роли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 18:14 |
|
||
|
Матрица "Membership".
|
|||
|---|---|---|---|
|
#18+
Курдль, 2 довода: - любое изменение ролей влечёт перепроектирование - роли оракле тот же список только в системной таблице Ну и apex стремится к 3м ролям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 18:16 |
|
||
|
Матрица "Membership".
|
|||
|---|---|---|---|
|
#18+
Wise AASИМНО, зачем изобретать велосипед? Рабочее место в матричном виде понадобится лишь единожды, при внедрении. Но вообще-то да. Пожалуй, хватит такой матрицы для просмотра. А что такое РМ? :) Petro123Курдль, 2 довода: - любое изменение ролей влечёт перепроектирование - роли оракле тот же список только в системной таблице Ну и apex стремится к 3м ролям. Это с фига ли - перепроектирование? :) Разграничение доступа на уровне функционала - это одно. А на уровне данных - другое. Кстати, ролевой доступ в оракле основан именно на членстве в определенной роли. А роль имеет определенный доступ к определенным объектам. Всё гибко и не требует никакого перепроектирования - грантуй, и всё! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 20:20 |
|
||
|
Матрица "Membership".
|
|||
|---|---|---|---|
|
#18+
Курдль, 1. РМ = АРМ = Рабочее место 2. Пример: - у вас форма "Кто в ИС" была доступна для роли Админ. Вы прописали в APEX условие "Админ" Когда появится роль Начальник, вам надо будет переписать условие в коде. Не всегда, но часто.... 3. А я про оракл и говорил. Т.е. сущности Роль\Привилегия нету. Она не проектируется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 22:07 |
|
||
|
Матрица "Membership".
|
|||
|---|---|---|---|
|
#18+
КурдльА роль имеет определенный доступ к определенным объектам. у меня роль, это только флаг-имя для проверки в APEX. Она даже грант connect не имеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 22:09 |
|
||
|
Матрица "Membership".
|
|||
|---|---|---|---|
|
#18+
т.е. у меня корпоратив-ERP и нет вандалов-диверсантов. Есть логи для проверки - кто накосячил. Есть роли для ГУИ Есть триггеры для целостности данных-модели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 22:12 |
|
||
|
Матрица "Membership".
|
|||
|---|---|---|---|
|
#18+
Petro123, Тебе повезло с предметной областью. Знаешь, как к примеру выдают кредит крупному бизнесу? Открывают целый проект по выдаче кредита. В рабочую группу этого проекта назначают экспертов на разные роли, которым доступен различный функционал и различные области данных. И это всё надо спроектировать заранее, чтобы дальше только настраивать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 22:28 |
|
||
|
Матрица "Membership".
|
|||
|---|---|---|---|
|
#18+
Курдль, APEX просто слабже в плане защиты той же Java и т.д. Поэтому нет смысла усложнять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 22:33 |
|
||
|
Матрица "Membership".
|
|||
|---|---|---|---|
|
#18+
Petro123Курдль, APEX просто слабже в плане защиты той же Java и т.д. Поэтому нет смысла усложнять. С чего это АПЕКС слабже? Я так не думаю. Кроме того, авторизация делается не только с целью защитить данные от "взлома" злыми хацкерами, но и не дать увидеть лишнего и наделать неположенного штатным сотрудникам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 22:39 |
|
||
|
Матрица "Membership".
|
|||
|---|---|---|---|
|
#18+
Курдльчтобы дальше только настраивать Открыть IDE и добавить условие на DA: вместо: если есть роль "Руководитель", то разрешить вписать: если есть роль "Руководитель", и он с ролью Департамент, то разрешить ------- Я назвал это перепроектирование, т.к. версия ПО изменилась. IMHO APEX как Delphi - тут проще перепроектировать, чем один раз написать на века) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 22:48 |
|
||
|
Матрица "Membership".
|
|||
|---|---|---|---|
|
#18+
КурдльС чего это АПЕКС слабже? в сети читал)). А если доказывать, то: 1) Нет чёткого деления по слоям со своей зоной ответственности (3-х звенки). и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 22:54 |
|
||
|
Матрица "Membership".
|
|||
|---|---|---|---|
|
#18+
Курдль, Проблема нарисовать форму ? Обычный отчёт с трансонированными столбцами, запрос на основе функции, чекбоксы через apex_item Делал несколько таких ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 22:59 |
|
||
|
Матрица "Membership".
|
|||
|---|---|---|---|
|
#18+
КурдльКроме того, авторизация делается не только с целью защитить данные от "взлома" злыми хацкерами, но и не дать увидеть лишнего и наделать неположенного штатным сотрудникам. Ух ты! А как вы делаете скрытие данных? На уровне запросов к БД? Хотя это уже вопрос иной темы, но интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 23:06 |
|
||
|
Матрица "Membership".
|
|||
|---|---|---|---|
|
#18+
SvDevКурдль, Проблема нарисовать форму ? Обычный отчёт с трансонированными столбцами, запрос на основе функции, чекбоксы через apex_item Делал несколько таких То, что я описал в начале - осевая таблица, которая не так-то просто дается... Wise AASУх ты! А как вы делаете скрытие данных? На уровне запросов к БД? Хотя это уже вопрос иной темы, но интересно. А что это за секрет Полишинеля? Простейший пример: у организации иерархическая структура подразделений. Задача - предоставить начальнику данные только по своему подразделению и всем подчиненным на всех уровнях вложенности. Как это еще решить? Запросом или функцией с реф-курсором... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 23:24 |
|
||
|
Матрица "Membership".
|
|||
|---|---|---|---|
|
#18+
КурдльWise AASУх ты! А как вы делаете скрытие данных? На уровне запросов к БД? Хотя это уже вопрос иной темы, но интересно. А что это за секрет Полишинеля? Простейший пример: у организации иерархическая структура подразделений. Задача - предоставить начальнику данные только по своему подразделению и всем подчиненным на всех уровнях вложенности. Как это еще решить? Запросом или функцией с реф-курсором... Ну задачу по иерархии я знаю как решать. Мне интересно как скрыть/показать значения в тех или иных полях для различных ролей... Я от практического программирования отошел когда 11 вышла и тогда мы таких фортелей не применяли. А сейчас понадобится тряхнуть стариной, да сразу на АПЕКСе. Вот и интересуюсь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 23:33 |
|
||
|
Матрица "Membership".
|
|||
|---|---|---|---|
|
#18+
КурдльSvDevКурдль, Проблема нарисовать форму ? Обычный отчёт с трансонированными столбцами, запрос на основе функции, чекбоксы через apex_item Делал несколько таких То, что я описал в начале - осевая таблица, которая не так-то просто дается... Я так понял, обычная задача на транспортирование с неизвестным количеством столбцов ( или формулируйте задачу яснее). Данные-то в нормальной форме ведь хранятся? я имею ввиду, 2 столбца: пользователь и группа, вот они траспонируются функцией, возвращающей varchar2, на выходе запрос с нужным количеством столбцов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 23:46 |
|
||
|
Матрица "Membership".
|
|||
|---|---|---|---|
|
#18+
SvDevДанные-то в нормальной форме ведь хранятся? я имею ввиду, 2 столбца: пользователь и группа, вот они траспонируются функцией, возвращающей varchar2, на выходе запрос с нужным количеством столбцов Данные хранятся, как и нарисовано в модели Все равно APEX не позволяет создавать репорты с переменным количеством ПРАВИЛЬНО ПОДПИСАННЫХ столбцов. Или я ошибаюсь? Дежа вю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2015, 23:58 |
|
||
|
Матрица "Membership".
|
|||
|---|---|---|---|
|
#18+
Курдль, Шахматку-матрицу можно заменить Один ко многим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2015, 00:05 |
|
||
|
Матрица "Membership".
|
|||
|---|---|---|---|
|
#18+
Курдль, Через apex_item можно. Кода, конечно, больше и это нестандартная возможность, придётся писать обработку ещё. С подписями столбцов проблема надуманная, что-то где-то не отладили. К тому же имена столбцов так же можно возвращать функцией. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2015, 00:11 |
|
||
|
|

start [/forum/topic.php?fid=50&msg=38882090&tid=1875084]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
170ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 483ms |

| 0 / 0 |
