powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Дерево ролей
8 сообщений из 8, страница 1 из 1
Дерево ролей
    #38555261
FirstFirst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!
Подскажите в Forms возможно настроить работу с деревом ролей?

Т.е. создать роли для доступа к меню и таблицам.
Затем создать группы ролей т.е. роли 1 дать подроль 1.1. и подроль 1.2
Затем прописать пользователю роль 1. И что бы Forms могли определять вложенные роли.

Сейчас если я так делаю, то Forms не видят вложенных ролей, а только верхний уровень.
К примеру при построении меню, если у роли 1 есть роль 1.2 которая позволяет добавлять меню то Forms сообщает, что нет возможности построить меню.
...
Рейтинг: 0 / 0
Дерево ролей
    #38555359
Les
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет!
Ты имеешь в виду роль - как объект БД? Ты помнишь, что их число по умолчанию ограниченно?

Я раньше использовал роли, для ограничения доступа к пунктам меню, но неудобств от этого больше, чем достоинств.
Как у тебя работают пользователи, под каждого своя схема и синонимы? Или паблик синонимы?

Я потом перешел на другой способ разграничения прав.
Есть основная схема А, в которой есть все что мне нужно, в том числе таблица с пользователями и их зашифрованными паролями.
Есть схема Б, для которой в приложении настраивается пароль для входа.
В схеме Б право выполнения одной процедуры из А и синоним.

То есть приложение стартует в Б, выводит экран для ввода логина и пароля, и передает их этой процедуре.
Та проверяет в своей таблице, и если все нормально дает роль и переключает на нужную схему
alter session set current schema

В основной схеме я просто прописываю возможные режимы работы и свои роли, привязка к пользователям, и в приложении проверяю, есть ли право на нужный режим работы. В зависимости от этого скрываю/показываю пункты меню, доступность кнопок и т.п.

В целом такой алгоритм оказался удобней, чем с использованием ролей, и встраиванием их в меню
...
Рейтинг: 0 / 0
Дерево ролей
    #38556571
FirstFirst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LesПривет!
В основной схеме я просто прописываю возможные режимы работы и свои роли, привязка к пользователям, и в приложении проверяю, есть ли право на нужный режим работы. В зависимости от этого скрываю/показываю пункты меню, доступность кнопок и т.п.
В целом такой алгоритм оказался удобней, чем с использованием ролей, и встраиванием их в меню

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

В общем решил я задачу - для Oracle AS 10 смотрите в сторону вьюхи frm50
Для Oracle Fusion Middleware там возможно она по другому называется.
...
Рейтинг: 0 / 0
Дерево ролей
    #38556789
Les
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так я в приложении не прописываю роли )
Я там озадачиваюсь только правами работы - есть например право работы - загрузка данных из бухгалтерии - сделаю доступной кнопку, нет права - сделаю недоступной.

А т.н. ролям (в моем случае это не роли, как объекты БД) я даю права на режимы и другие роли. И соответственно процедура, которая проверяет наличие у пользователя, через роли, которые привязаны к нему прямо или опосредованно, прав на этот режим работы.

Привязываясь в формсах к настоящим ролям, ты можешь получить в будущем, при росте приложения, проблемы, когда потребуется тонкая настройка по правам.
...
Рейтинг: 0 / 0
Дерево ролей
    #38556882
FirstFirst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LesТак я в приложении не прописываю роли )
Я там озадачиваюсь только правами работы - есть например право работы - загрузка данных из бухгалтерии - сделаю доступной кнопку, нет права - сделаю недоступной.

не совсем понятно, как определяется есть права на работу или нет?
...
Рейтинг: 0 / 0
Дерево ролей
    #38556900
Les
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ок, давай по порядку
у тебя есть пользователь
у тебя есть таблица справочник режимов работы
У тебя есть таблица справочник "роли"
У тебя есть таблица связи многие ко многим "режим работы - роль"
У тебя есть таблица связи многие ко многим "роль - роль"
У тебя есть таблица связи многие ко многим "пользователь - роль"

Теперь пользователь вошел, ты получаешь его роли, ты получаешь через них прямо и опосредованно (роль->роль), данные ему права на режимы работы. ( при желании сохраняешь это, в переменной пакета или в контексте, что бы потом не тратить время).

Проверяешь, есть ли у него право на режим работы. И тут тебе не особо важно, через какую роль он его получил.
У меня примерно 60 пользователей, работает все без проблем.
Как-то так )
...
Рейтинг: 0 / 0
Дерево ролей
    #38557005
Фотография mRdUKE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот Вы "заморачиваетесь", такие требования, или может я чего не понимаю?
У меня более 500 пользователей, уровни доступа прописаны в таблице БД,
и в зависимости от уровня, в главной форме определяется, какие меню показывать
пользователю, какие нет.. Что пользователи имеют одинаковые права
в схеме и теоретически могут законектиться к бд, "заюзать" dml, это да... но
во-первых пользователи наврятли обладают такими навыками, тем более формы 10ые,
всё крутится под вебом, т.е. клиентов как таковых они не имеют, да и данные не
из разряда top-secrets..
Хотя думаю это всё зависит от конкретного случая, задачи, инфрастуктуры предприятия.
...
Рейтинг: 0 / 0
Дерево ролей
    #38558037
FirstFirst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LesКак-то так )
так понял. может конечно в твоем случаи и удобнее реализовывать "роли" через свое приложение, но у меня роли это объекты Oracle. Поэтому все делается через frm50.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Дерево ролей
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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