powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос по идентификации middle tier пользователя в ORACLE
25 сообщений из 32, страница 1 из 2
Вопрос по идентификации middle tier пользователя в ORACLE
    #38188672
marlis82
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть Weblogic сервер на котором крутится приложение на JSF+ADF. Авторизация и доступ по логину и паролю через пользователей в СУБД через ADF Security+Weblogic Authenticator.

Необходимо фиксировать пользователей apllication-а в СУБД. Каким образом организовать? Пока что вычитал механизм передачи через контекст с глобальным доступом в Oracle. Для чего можно использовать DBMS_SESSION пакет (SET_IDENTIFIER, SET_CONTEXT), соответственно с разным client_id.

Вопрос на каком этапе использовать:
- перед внесением изменений в базу(каким образом передать в контекст);
- во время логона (минус в том что могут зайти несколько пользователей аппликейшна и пул соединений может затереть предыдущий контекст);

Есть ли другой механизм наподобие функции V в апексе или USER переменной в СУБД?

Спасибо
...
Рейтинг: 0 / 0
Вопрос по идентификации middle tier пользователя в ORACLE
    #38188739
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
marlis82,
Найди тему. Тут было про пул..логины...и прокси аутентификацию.
...
Рейтинг: 0 / 0
Вопрос по идентификации middle tier пользователя в ORACLE
    #38189274
just_vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
marlis82,

как на счет варианта - в момент получения соединения из пула?
...
Рейтинг: 0 / 0
Вопрос по идентификации middle tier пользователя в ORACLE
    #38189324
marlis82
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
just_vladimir,

Спасибо за ответ.
А каким образом? Не будет ли параллельных запросов на запрос соединения?
...
Рейтинг: 0 / 0
Вопрос по идентификации middle tier пользователя в ORACLE
    #38189385
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
marlis82Необходимо фиксировать пользователей apllication-а в СУБД
а что это значит? Контекст там можно использовать только в хранимках. У вас хранимки?
...
Рейтинг: 0 / 0
Вопрос по идентификации middle tier пользователя в ORACLE
    #38189483
marlis82
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

Да в СУБД есть хранимая процедура которая вызывается на стороне веб сервера, которая устанавливает аттрибуты в глобальном контексте для конкретного юзера, идентификатором наверное будет сешн айди соединения, далее аттрибуты айпи адрес, юзернейм, роли, время создания соединения и прочее.

Таким образом при изменении каких либо данных в таблице триггер будет считывать логин и прочие аттрибуты вносящего имзенения пользователя через идентификатор сешшн айди. Но меня интересует вопрос в какой момент вызывать процедуру для установки данных в контексте?

Или необходимо во всех табличках держать дополнительное поле с сешшн айди? При изменении данных загонять туда на стороне веб сервера данные?

P.S.: Насчет предложения прозрачного проксирования, это не подходит т.к. не хотелось бы держать всех пользователей апплик в качестве пользователей СУБД. Неудобство администрирования.
...
Рейтинг: 0 / 0
Вопрос по идентификации middle tier пользователя в ORACLE
    #38189573
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
marlis82,
у меня такая схема работает без пула. Т.е. если нет пула и каждый пользователь получает свой коннект пока не отработает и не выйдет.
Т.е. это длинные транзакции для бизнес приложения.
Если публичный сервер, то там обезличенные пользователи ходят под одной схемой оракла (одним логином).
Ну и естьсмешанная схема.
Без пула? Юзверей не много?
...
Рейтинг: 0 / 0
Вопрос по идентификации middle tier пользователя в ORACLE
    #38189605
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
marlis82,
и задача какая? Просто логи кто что делал или Запрет дейчтвий по ролям?
А то, мне кажется ты соединяешь 2 технологии вместе JSF\ADF и ручные Роли через ручной контекст БД.
...
Рейтинг: 0 / 0
Вопрос по идентификации middle tier пользователя в ORACLE
    #38189737
marlis82
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

автору меня такая схема работает без пула. Т.е. если нет пула и каждый пользователь получает свой коннект пока не отработает и не выйдет.Т.е. это длинные транзакции для бизнес приложения.

А загрузка СУБД?

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

О это интересно. А можно поподробнее как реализовано?

авторБез пула? Юзверей не много?
пользователей на начальном этапе 150, потом 200 в течение полугода еще добавятся и т.д. по нарастающей

автори задача какая? Просто логи кто что делал или Запрет действий по ролям?
Тут и логи на каждую транзакцию и запрет действий, на уровне СУБД тоже будет на триггерах.

авторА то, мне кажется ты соединяешь 2 технологии вместе JSF\ADF и ручные Роли через ручной контекст БД.
Да есть такое )))
Роли на сервере приложений будут на уровне адф секьюрити + авторизация доступ на конкретные jsf страницы.
На стороне сервера предполагается второй уровень защиты описанный выше, ну плюс логгирование.
...
Рейтинг: 0 / 0
Вопрос по идентификации middle tier пользователя в ORACLE
    #38189795
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
marlis82,
>А загрузка СУБД?
наверно нагрузку имел ввиду? ). Ну конечно не Одноклассники. Но 1K - 10K потянет.

2.
Смешивать не очень хорошо.
А вот, про то что ходят под одним, так это ты мне должен рассказывать. это стандарт в Java - Хибер .
Поэтому, с ним определись. Все проекты на нём.

Иначе:
Код: java
1.
2.
3.
4.
5.
6.
Сервлет{
    Conn = GetConnection;
    Conn.SetInfo(IP.....)
    Conn. поработал
    Conn.Close
}


у меня так сайт работает)
______________________________________________
"Сделай настолько просто, насколько это возможно, но не проще". © А. Эйнштейн.
AutoPOI.ru — ГИС-технологии для Oracle
...
Рейтинг: 0 / 0
Вопрос по идентификации middle tier пользователя в ORACLE
    #38189804
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
marlis82Тут и логи на каждую транзакцию и запрет действий, на уровне СУБД тоже будет на триггерах.
если нравится в СУБД, тогда минимум в Хибере...можно без пула.
Если с пулом то найди тему - прокси-ХХХХХХ
...
Рейтинг: 0 / 0
Вопрос по идентификации middle tier пользователя в ORACLE
    #38189891
marlis82
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,
авторнаверно нагрузку имел ввиду? ). Ну конечно не Одноклассники. Но 1K - 10K потянет.
Да, но даже при 2К я думаю PGA всю память съест.

авторСмешивать не очень хорошо.
А вот, про то что ходят под одним, так это ты мне должен рассказывать. это стандарт в Java - Хибер.
Поэтому, с ним определись. Все проекты на нём.

Иначе:
Сервлет{
Conn = GetConnection;
Conn.SetInfo(IP.....)
Conn. поработал
Conn.Close
}

у меня так сайт работает)


Я использую АДФ (Fusion App) а это уже ОРМ. Тут такое не проканает )


авторесли нравится в СУБД, тогда минимум в Хибере...можно без пула.
Если с пулом то найди тему - прокси-ХХХХХХ

Можно поподробнее?
...
Рейтинг: 0 / 0
Вопрос по идентификации middle tier пользователя в ORACLE
    #38190001
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
marlis82Можно поподробнее?

С праздником мужики. Вопрос по JAAS
авторДа, но даже при 2К я думаю PGA всю память съест.
всю - это сколько?
Неужели ты думаешь, что Оракл 2-К записей выкидывают на помойку? Или срочно переходят под Веб?
Ну возьми в цикле коннекты и запусти SELECT FROM DUAL и проверь)
...
Рейтинг: 0 / 0
Вопрос по идентификации middle tier пользователя в ORACLE
    #38190006
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
marlis82Я использую АДФ (Fusion App) а это уже ОРМ.
и как ты скрещиваешь ОРМ и хранимки (БЛ в БД)?
...
Рейтинг: 0 / 0
Вопрос по идентификации middle tier пользователя в ORACLE
    #38190036
marlis82
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

На самом деле хранимка используется только для того чтобы выставить данные в глобальном контексте.

Насчет Proxy Authen она не подходит я изначально писал, в оракле требование, я так понял , чтобы пользователи аплпикейшна были также и пользователями оракла. Разница реализации между использованием прокси аус и использованием пула соединений лишь в том, что в базу пользователь лезет под личной учеткой или под общей. А на стороне БД пользователи в обеих случаях есть и являются пользователями БД.
...
Рейтинг: 0 / 0
Вопрос по идентификации middle tier пользователя в ORACLE
    #38190081
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
marlis82чтобы пользователи аплпикейшна были также и пользователями оракла.
1.
У Оракла под пользователями понимается Схема (в пику сиквелу).
Т.е. CREATE USER логин пароль создаёт пол-ля.
Дальше они вынуждены работать не совместно, т.к. данные НЕ общие. Их можно обобщить, но тогда надо раздавать права "владельца" всем.
Т.е. в данном варианте считай, как в сиквеле у каждого своя БД.

2. В той ссылке делается вручную в пуле передаётся инфа через контекст.
ИЛИ 2 вариант -
CREATE USER GLOBAL - это корпоративный пользователь.

Проясни про пользователей Оракла исходя из п.п.1
...
Рейтинг: 0 / 0
Вопрос по идентификации middle tier пользователя в ORACLE
    #38190094
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
marlis82чтобы пользователи аплпикейшна были также и пользователями оракла
если ты это сделаешь, то тебе надо будет при заведении нового пользователя давать ему гранты на все таблички.
Либо я дела скрипт:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
set serveroutput on;

declare
  v_owner varchar2(255);
  v_on varchar2(255);
begin 
  for i in (select owner, object_name from all_objects where object_type in('TABLE','VIEW') and owner = 'DEVXXX') loop
    v_owner := i.owner;
    v_on := i.object_name;
    begin
     execute immediate 'grant select on '||i.owner||'.'||i.object_name|| ' to ddddd';
     exception when others then
      dbms_output.put_line(v_owner||'.'||v_on||' :: '||SQLERRM);
    end;
  end loop;
end;
/


кому где удобнее писать. И есть ли в штате разработчик БД.
...
Рейтинг: 0 / 0
Вопрос по идентификации middle tier пользователя в ORACLE
    #38190118
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
получается такая линейка масштабирования сверху вниз

Код: plaintext
1.
2.
3.
4.
- ОРМ - все под одним - БД импотент
- ОРМ? - + CREATE USER + скрипты
- ОРМ ?- + самопальный пул чтобы передать инфу
большой скачок-промежуток
- ОРМ - + CREATE USER GLOBAL + LDAP

Удачи!
...
Рейтинг: 0 / 0
Вопрос по идентификации middle tier пользователя в ORACLE
    #38190126
marlis82
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1.
У Оракла под пользователями понимается Схема (в пику сиквелу).
Т.е. CREATE USER логин пароль создаёт пол-ля.
Дальше они вынуждены работать не совместно, т.к. данные НЕ общие. Их можно обобщить, но тогда надо раздавать права "владельца" всем.

Да конечно никто не спорит. Естественно нужно заводить пользователей (схему), создавать паблики, давать им гранты на текущую схему и т.д.
Т.е. в данном варианте считай, как в сиквеле у каждого своя БД.
схема имелась ввиду наверное)

2. В той ссылке делается вручную в пуле передаётся инфа через контекст.
ИЛИ 2 вариант -
CREATE USER GLOBAL - это корпоративный пользователь.
Проясни про пользователей Оракла исходя из п.п.1
[/quote]

исходя из того что я читал про ксвозную аутентиф, напишу так:
На стороне БД:
create user mark identified by passs
create user natasha identified by passs
alter user mark GRANT CONNECT THROUGH dbuser;
alter user mark GRANT CONNECT THROUGH dbuser;
На стороне вэблоджика соотв-но настраивается секьюрити реалм.
Но этот вариант меня не устраивает вообще.

Нужен 1 пользователь базы со всеми правами селект апдейт делет, и апп пользователи, данные о которых забиваются в глобальном контексте. Повторю вопрос - на какой стадии передавать в контекст данные о пользователе?
...
Рейтинг: 0 / 0
Вопрос по идентификации middle tier пользователя в ORACLE
    #38190219
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
marlis82схема имелась ввиду наверное)
Я имел ввиду, у Оракла "Схема" = "БД" у Сиквела.
авторна какой стадии передавать в контекст данные о пользователе?
сразу после получения коннекта через который МОЖНО передать SQL выражением.
Конкретно не знаю - смотри свой ОРМ.
Удачи!
...
Рейтинг: 0 / 0
Вопрос по идентификации middle tier пользователя в ORACLE
    #38190593
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
marlis82,

Какие только люди велосипеды не изобретают, лишm бы не читать документацию, например про SessionEventAdapter (SessionEventListener).
...
Рейтинг: 0 / 0
Вопрос по идентификации middle tier пользователя в ORACLE
    #38190867
marlis82
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей Арсеньев,

А как прикрутить туда информацию на стороне веб приложения и извлечь ее на стороне СУБД?
...
Рейтинг: 0 / 0
Вопрос по идентификации middle tier пользователя в ORACLE
    #38190873
marlis82
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

Спасибо
...
Рейтинг: 0 / 0
Вопрос по идентификации middle tier пользователя в ORACLE
    #38191331
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
marlis82,

Например.
1. На стороне Веб приложения подписываешься на событие открытие сессии (или перед Update)
2. В обработчике события берешь getPrincipal (ну или что-то еще) и текущую сессию ORM.
3. В сессию пишешь при помощи PreparedStatement значение из п. 2, например в контекст.
4. В триггере на стороне БД делашь все что хочешь со значением из контекста (ну или в тексте запроса вьюшки или еще где захочешь).
...
Рейтинг: 0 / 0
Вопрос по идентификации middle tier пользователя в ORACLE
    #38191352
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Арсеньев,
+1 Если провайдер поддерживает событие с передачей коннекта
...
Рейтинг: 0 / 0
25 сообщений из 32, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос по идентификации middle tier пользователя в ORACLE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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