|
Дерево ролей
|
|||
---|---|---|---|
#18+
Всем привет! Подскажите в Forms возможно настроить работу с деревом ролей? Т.е. создать роли для доступа к меню и таблицам. Затем создать группы ролей т.е. роли 1 дать подроль 1.1. и подроль 1.2 Затем прописать пользователю роль 1. И что бы Forms могли определять вложенные роли. Сейчас если я так делаю, то Forms не видят вложенных ролей, а только верхний уровень. К примеру при построении меню, если у роли 1 есть роль 1.2 которая позволяет добавлять меню то Forms сообщает, что нет возможности построить меню. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2014, 08:48 |
|
Дерево ролей
|
|||
---|---|---|---|
#18+
Привет! Ты имеешь в виду роль - как объект БД? Ты помнишь, что их число по умолчанию ограниченно? Я раньше использовал роли, для ограничения доступа к пунктам меню, но неудобств от этого больше, чем достоинств. Как у тебя работают пользователи, под каждого своя схема и синонимы? Или паблик синонимы? Я потом перешел на другой способ разграничения прав. Есть основная схема А, в которой есть все что мне нужно, в том числе таблица с пользователями и их зашифрованными паролями. Есть схема Б, для которой в приложении настраивается пароль для входа. В схеме Б право выполнения одной процедуры из А и синоним. То есть приложение стартует в Б, выводит экран для ввода логина и пароля, и передает их этой процедуре. Та проверяет в своей таблице, и если все нормально дает роль и переключает на нужную схему alter session set current schema В основной схеме я просто прописываю возможные режимы работы и свои роли, привязка к пользователям, и в приложении проверяю, есть ли право на нужный режим работы. В зависимости от этого скрываю/показываю пункты меню, доступность кнопок и т.п. В целом такой алгоритм оказался удобней, чем с использованием ролей, и встраиванием их в меню ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2014, 10:53 |
|
Дерево ролей
|
|||
---|---|---|---|
#18+
LesПривет! В основной схеме я просто прописываю возможные режимы работы и свои роли, привязка к пользователям, и в приложении проверяю, есть ли право на нужный режим работы. В зависимости от этого скрываю/показываю пункты меню, доступность кнопок и т.п. В целом такой алгоритм оказался удобней, чем с использованием ролей, и встраиванием их в меню У нас так и есть, а если пользователь решит на основе твоих ролей создать еще роли и как в этом случаи ты будешь показывать и скрывать меню, ведь роли совсем по другому будут называться, а не как у тебя в приложении рассчитано. Вот я про, что говорил. И как со читаются вот эти два пункта: "я просто прописываю возможные режимы работы и свои роли" "В целом такой алгоритм оказался удобней, чем с использованием ролей" В общем решил я задачу - для Oracle AS 10 смотрите в сторону вьюхи frm50 Для Oracle Fusion Middleware там возможно она по другому называется. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2014, 07:14 |
|
Дерево ролей
|
|||
---|---|---|---|
#18+
Так я в приложении не прописываю роли ) Я там озадачиваюсь только правами работы - есть например право работы - загрузка данных из бухгалтерии - сделаю доступной кнопку, нет права - сделаю недоступной. А т.н. ролям (в моем случае это не роли, как объекты БД) я даю права на режимы и другие роли. И соответственно процедура, которая проверяет наличие у пользователя, через роли, которые привязаны к нему прямо или опосредованно, прав на этот режим работы. Привязываясь в формсах к настоящим ролям, ты можешь получить в будущем, при росте приложения, проблемы, когда потребуется тонкая настройка по правам. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2014, 11:24 |
|
Дерево ролей
|
|||
---|---|---|---|
#18+
LesТак я в приложении не прописываю роли ) Я там озадачиваюсь только правами работы - есть например право работы - загрузка данных из бухгалтерии - сделаю доступной кнопку, нет права - сделаю недоступной. не совсем понятно, как определяется есть права на работу или нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2014, 12:26 |
|
Дерево ролей
|
|||
---|---|---|---|
#18+
Ок, давай по порядку у тебя есть пользователь у тебя есть таблица справочник режимов работы У тебя есть таблица справочник "роли" У тебя есть таблица связи многие ко многим "режим работы - роль" У тебя есть таблица связи многие ко многим "роль - роль" У тебя есть таблица связи многие ко многим "пользователь - роль" Теперь пользователь вошел, ты получаешь его роли, ты получаешь через них прямо и опосредованно (роль->роль), данные ему права на режимы работы. ( при желании сохраняешь это, в переменной пакета или в контексте, что бы потом не тратить время). Проверяешь, есть ли у него право на режим работы. И тут тебе не особо важно, через какую роль он его получил. У меня примерно 60 пользователей, работает все без проблем. Как-то так ) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2014, 12:39 |
|
Дерево ролей
|
|||
---|---|---|---|
#18+
Вот Вы "заморачиваетесь", такие требования, или может я чего не понимаю? У меня более 500 пользователей, уровни доступа прописаны в таблице БД, и в зависимости от уровня, в главной форме определяется, какие меню показывать пользователю, какие нет.. Что пользователи имеют одинаковые права в схеме и теоретически могут законектиться к бд, "заюзать" dml, это да... но во-первых пользователи наврятли обладают такими навыками, тем более формы 10ые, всё крутится под вебом, т.е. клиентов как таковых они не имеют, да и данные не из разряда top-secrets.. Хотя думаю это всё зависит от конкретного случая, задачи, инфрастуктуры предприятия. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2014, 13:21 |
|
|
start [/forum/topic.php?fid=51&msg=38556882&tid=1878226]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
135ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 243ms |
0 / 0 |