powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Матрица "Membership".
25 сообщений из 25, страница 1 из 1
Матрица "Membership".
    #38882067
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, коллеги!

Необходимо реализовать стандартную форму администратора доступа.
Тип: матрица "столбцы - роли (группы), строки - пользователи. На пересечении - чекбоксы, позволяющие установить членство пользователя в роли(группе) или отключить его".
Роли могут добавляться. Пользователи, естественно, тоже.

У кого есть красивая идея для реализации?
...
Рейтинг: 0 / 0
Матрица "Membership".
    #38882076
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль,
красиво, это когда на экране = модели данных.
У меня модель:
- у каждого польз-ля - роль оракла
- сами роли имеют наследование от самого оракла.
- поэтому на польз-ля стоит только навешать роль.
...
Рейтинг: 0 / 0
Матрица "Membership".
    #38882080
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль,
т.е. обычная таблица, хоть отчетная
...
Рейтинг: 0 / 0
Матрица "Membership".
    #38882090
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Курдль,
красиво, это когда на экране = модели данных.
У меня модель:
- у каждого польз-ля - роль оракла
- сами роли имеют наследование от самого оракла.
- поэтому на польз-ля стоит только навешать роль.

Что значит сия магическая формула? :)
Моя модель - стандартнейшая из всех возможных: есть пользователи, есть роли. Пользователю может быть дано членство в одной или нескольких ролях.
Так что таблица не проканает - нужна двумерная матрица.
...
Рейтинг: 0 / 0
Матрица "Membership".
    #38882100
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдльесть пользователи, есть роли. Пользователю может быть дано членство в одной или нескольких ролях.
у меня проще))))
вместо з-х ролей для одного, есть супер роль, которая включает все 3 роли)).
Я же намекнул про наследование.
...
Рейтинг: 0 / 0
Матрица "Membership".
    #38882103
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123у меня проще))))
вместо з-х ролей для одного, есть супер роль, которая включает все 3 роли)).
Я же намекнул про наследование.

Это хорошо, если у тебя кол-во ролей неизменное. А если изменяемое? Сколько тогда сочетаний можно составить (см. комбинаторику) :)
...
Рейтинг: 0 / 0
Матрица "Membership".
    #38882130
Wise AAS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ИМНО, зачем изобретать велосипед? Рабочее место в матричном виде понадобится лишь единожды, при внедрении.

Я бы поступил проще, как это делается везде: РМ "Роли и группы" РМ "Пользователи"
В первом смотрел бы кто имеет ту или иную роль, групповая операция делегирования и снятия делегирования и т.п.
Во втором по конкретному пользователю имел бы вкладку - "Роли" - где птичками отмечаешь делегированные пользователю роли.
...
Рейтинг: 0 / 0
Матрица "Membership".
    #38882134
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль,
2 довода:
- любое изменение ролей влечёт перепроектирование
- роли оракле тот же список только в системной таблице
Ну и apex стремится к 3м ролям.
...
Рейтинг: 0 / 0
Матрица "Membership".
    #38882209
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wise AASИМНО, зачем изобретать велосипед? Рабочее место в матричном виде понадобится лишь единожды, при внедрении.
Но вообще-то да. Пожалуй, хватит такой матрицы для просмотра.
А что такое РМ? :)

Petro123Курдль,
2 довода:
- любое изменение ролей влечёт перепроектирование
- роли оракле тот же список только в системной таблице
Ну и apex стремится к 3м ролям.

Это с фига ли - перепроектирование? :)
Разграничение доступа на уровне функционала - это одно. А на уровне данных - другое.

Кстати, ролевой доступ в оракле основан именно на членстве в определенной роли.
А роль имеет определенный доступ к определенным объектам. Всё гибко и не требует никакого перепроектирования - грантуй, и всё! :)
...
Рейтинг: 0 / 0
Матрица "Membership".
    #38882255
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль,
1. РМ = АРМ = Рабочее место
2.
Пример:
- у вас форма "Кто в ИС" была доступна для роли Админ. Вы прописали в APEX условие "Админ"
Когда появится роль Начальник, вам надо будет переписать условие в коде.
Не всегда, но часто....
3. А я про оракл и говорил.
Т.е. сущности Роль\Привилегия нету. Она не проектируется.
...
Рейтинг: 0 / 0
Матрица "Membership".
    #38882256
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльА роль имеет определенный доступ к определенным объектам.
у меня роль, это только флаг-имя для проверки в APEX.
Она даже грант connect не имеет.
...
Рейтинг: 0 / 0
Матрица "Membership".
    #38882258
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е. у меня корпоратив-ERP и нет вандалов-диверсантов.
Есть логи для проверки - кто накосячил.
Есть роли для ГУИ
Есть триггеры для целостности данных-модели.
...
Рейтинг: 0 / 0
Матрица "Membership".
    #38882270
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
Тебе повезло с предметной областью.
Знаешь, как к примеру выдают кредит крупному бизнесу?
Открывают целый проект по выдаче кредита. В рабочую группу этого проекта назначают экспертов на разные роли, которым доступен различный функционал и различные области данных. И это всё надо спроектировать заранее, чтобы дальше только настраивать...
...
Рейтинг: 0 / 0
Матрица "Membership".
    #38882275
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль,
APEX просто слабже в плане защиты той же Java и т.д.
Поэтому нет смысла усложнять.
...
Рейтинг: 0 / 0
Матрица "Membership".
    #38882278
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Курдль,
APEX просто слабже в плане защиты той же Java и т.д.
Поэтому нет смысла усложнять.

С чего это АПЕКС слабже?
Я так не думаю.
Кроме того, авторизация делается не только с целью защитить данные от "взлома" злыми хацкерами, но и не дать увидеть лишнего и наделать неположенного штатным сотрудникам.
...
Рейтинг: 0 / 0
Матрица "Membership".
    #38882285
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдльчтобы дальше только настраивать
Открыть IDE и добавить условие на DA:
вместо:
если есть роль "Руководитель", то разрешить
вписать:
если есть роль "Руководитель", и он с ролью Департамент, то разрешить
-------
Я назвал это перепроектирование, т.к. версия ПО изменилась.
IMHO APEX как Delphi - тут проще перепроектировать, чем один раз написать на века)
...
Рейтинг: 0 / 0
Матрица "Membership".
    #38882287
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльС чего это АПЕКС слабже?
в сети читал)).
А если доказывать, то:
1) Нет чёткого деления по слоям со своей зоной ответственности (3-х звенки).
и т.д.
...
Рейтинг: 0 / 0
Матрица "Membership".
    #38882292
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль,

Проблема нарисовать форму ?
Обычный отчёт с трансонированными столбцами, запрос на основе функции, чекбоксы через apex_item

Делал несколько таких
...
Рейтинг: 0 / 0
Матрица "Membership".
    #38882301
Wise AAS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
КурдльКроме того, авторизация делается не только с целью защитить данные от "взлома" злыми хацкерами, но и не дать увидеть лишнего и наделать неположенного штатным сотрудникам.
Ух ты! А как вы делаете скрытие данных? На уровне запросов к БД?
Хотя это уже вопрос иной темы, но интересно.
...
Рейтинг: 0 / 0
Матрица "Membership".
    #38882312
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvDevКурдль,

Проблема нарисовать форму ?
Обычный отчёт с трансонированными столбцами, запрос на основе функции, чекбоксы через apex_item

Делал несколько таких

То, что я описал в начале - осевая таблица, которая не так-то просто дается...


Wise AASУх ты! А как вы делаете скрытие данных? На уровне запросов к БД?
Хотя это уже вопрос иной темы, но интересно.

А что это за секрет Полишинеля? Простейший пример: у организации иерархическая структура подразделений.
Задача - предоставить начальнику данные только по своему подразделению и всем подчиненным на всех уровнях вложенности.
Как это еще решить? Запросом или функцией с реф-курсором...
...
Рейтинг: 0 / 0
Матрица "Membership".
    #38882319
Wise AAS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
КурдльWise AASУх ты! А как вы делаете скрытие данных? На уровне запросов к БД?
Хотя это уже вопрос иной темы, но интересно.

А что это за секрет Полишинеля? Простейший пример: у организации иерархическая структура подразделений.
Задача - предоставить начальнику данные только по своему подразделению и всем подчиненным на всех уровнях вложенности.
Как это еще решить? Запросом или функцией с реф-курсором...

Ну задачу по иерархии я знаю как решать.

Мне интересно как скрыть/показать значения в тех или иных полях для различных ролей...
Я от практического программирования отошел когда 11 вышла и тогда мы таких фортелей не применяли. А сейчас понадобится тряхнуть стариной, да сразу на АПЕКСе.
Вот и интересуюсь...
...
Рейтинг: 0 / 0
Матрица "Membership".
    #38882327
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльSvDevКурдль,

Проблема нарисовать форму ?
Обычный отчёт с трансонированными столбцами, запрос на основе функции, чекбоксы через apex_item

Делал несколько таких

То, что я описал в начале - осевая таблица, которая не так-то просто дается...
Я так понял, обычная задача на транспортирование с неизвестным количеством столбцов ( или формулируйте задачу яснее).

Данные-то в нормальной форме ведь хранятся? я имею ввиду, 2 столбца: пользователь и группа, вот они траспонируются функцией, возвращающей varchar2, на выходе запрос с нужным количеством столбцов
...
Рейтинг: 0 / 0
Матрица "Membership".
    #38882335
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvDevДанные-то в нормальной форме ведь хранятся? я имею ввиду, 2 столбца: пользователь и группа, вот они траспонируются функцией, возвращающей varchar2, на выходе запрос с нужным количеством столбцов
Данные хранятся, как и нарисовано в модели
Все равно APEX не позволяет создавать репорты с переменным количеством ПРАВИЛЬНО ПОДПИСАННЫХ столбцов. Или я ошибаюсь? Дежа вю...
...
Рейтинг: 0 / 0
Матрица "Membership".
    #38882338
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль,
Шахматку-матрицу можно заменить Один ко многим
...
Рейтинг: 0 / 0
Матрица "Membership".
    #38882340
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль,

Через apex_item можно. Кода, конечно, больше и это нестандартная возможность, придётся писать обработку ещё.
С подписями столбцов проблема надуманная, что-то где-то не отладили. К тому же имена столбцов так же можно возвращать функцией.
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Матрица "Membership".
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]