powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Сессии apex
25 сообщений из 29, страница 1 из 2
Сессии apex
    #38396582
Фотография maxandsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно ли сопоставить сессию APEX и сессию ORACLE
...
Рейтинг: 0 / 0
Сессии apex
    #38397007
fghfgh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maxandsoft,

если я правильно вас понял то APEX_CUSTOM_AUTH.GET_USERNAME
...
Рейтинг: 0 / 0
Сессии apex
    #38399311
Фотография maxandsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apex похоже использует пулл сессий и они у него свои, меня интересует сопоставление с v$session
...
Рейтинг: 0 / 0
Сессии apex
    #38399428
fgfgfg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maxandsoft,

тот же пакет
...
Рейтинг: 0 / 0
Сессии apex
    #38400549
maxandsoftapex похоже использует пулл сессий и они у него свои, меня интересует сопоставление с v$session
у апекса нет никакого пула. пул коннектов - у веб-сервера. сессии у апекса - это записи в таблице wwv_flow_sessions$
Вы поясните нафига вообще это надо?
...
Рейтинг: 0 / 0
Сессии apex
    #38400558
да, и еще хочу добавить, что сопоставить можно только тогда, когда сессия оракла в состоянии "ACTIVE", иначе реально она ничья
Код: sql
1.
select CLIENT_INFO from v$session where username='APEX_PUBLIC_USER' and status='ACTIVE'


в колонке "CLIENT_INFO" будет "session_id:user_id"
...
Рейтинг: 0 / 0
Сессии apex
    #38417191
Nenormalka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Трудяга Биггерmaxandsoftapex похоже использует пулл сессий и они у него свои, меня интересует сопоставление с v$session
у апекса нет никакого пула. пул коннектов - у веб-сервера. сессии у апекса - это записи в таблице wwv_flow_sessions$
Вы поясните нафига вообще это надо?


Я за создателя топика отвечу:)

При работе в APEX ( например, добавление строк) также в таблицы добавляются переменные сессии. И сейчас возникают такие ошибки, когда пользователь отошел от компа, а другой в это время работает. И когда первый пользователь возвращается, его данные добавляются с переменными сессии от второго пользователя. То есть человек создает, например, задачу от имени другого пользователя.

Я не уверена что сессии Oracle и Apex можно сопоставлять, я думаю о варианте собственной аутентификации с созданием новой сессии... Но пока не разобралась до конца, сработает ли это.

Если подбросите идеи и материалы, буду благодарна!
...
Рейтинг: 0 / 0
Сессии apex
    #38417763
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nenormalka,

Сопоставить сессию можно для текущего запроса, т.е. либо для page rendering, либо для page processing.
А предсказывать, какой сессия оракла будет в следующий раз вам зачем?
...
Рейтинг: 0 / 0
Сессии apex
    #38418510
Nenormalka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev, Не совсем поняла, вы считаете что сессия каждый раз разная, на новой странице?
И не совсем поняла ваш вопрос о следующей сессии оралка, я ничего такого вроде предсказывать не собиралась...
...
Рейтинг: 0 / 0
Сессии apex
    #38418530
Фотография maxandsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvDev, на счет сессий Oracle

авторА предсказывать, какой сессия оракла будет в следующий раз вам зачем?

Мы используем свое API через которое создаем сессию, при создании сессии глобальным переменным PL/SQL присваиваются значения которые нужны в течении всей работы с приложением (переменные окружения), нам нужно не предсказания, а именно сессия Oracle которая была открыта при запуске APEX приложения о как
...
Рейтинг: 0 / 0
Сессии apex
    #38418619
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxandsoft,

Начните с основ
2.4 Understanding Session State Management

А так же с понимания того, что такое stateless protocol.
...
Рейтинг: 0 / 0
Сессии apex
    #38418680
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если коротко, то да, при выполнении page rendering или page processing появляется новое соединение (с учетом, что бранчи зачастую возвращаю редирект пользователю и создают таким образом новое соединение) и уже http sever решает, создавать новую сессию или использовать старую. Но даже если используется старая сессия, насколько я помню там все равно состояние сессии сбрасывается явно какой-то оракловой процедурой.
...
Рейтинг: 0 / 0
Сессии apex
    #38418688
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvDevmaxandsoft,

Начните с основ
2.4 Understanding Session State Management

А так же с понимания того, что такое stateless protocol.
Это я прежде всего написал Nenormalka, ну и maxandsoft тоже
...
Рейтинг: 0 / 0
Сессии apex
    #38418711
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+ еще читать тут
http://docs.oracle.com/cd/E37097_01/doc/doc.42/e35125/sec_dev.htm#CHDDAJHF About Session State and Security
Oracle Application Express persists session state in database tables. Session state is
preserved in database tables because it is more secure to store the session state on the
server side than on the client. Because Oracle Application Express applications use the
stateless HTTP protocol, an application's session state across multiple page views is
preserved in database tables. Not maintaining a synchronous database connection for
each Oracle Application Express application user significantly lessens memory and
database resource requirements.
...
Рейтинг: 0 / 0
Сессии apex
    #38419437
Nenormalka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev,

Да спасибо. Вы правы.
...
Рейтинг: 0 / 0
Сессии apex
    #38422954
Nenormalka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev, Я правильно понимаю что код устанавливаемый в Security Attributes -> Database Session -> Initialization PL/SQL Code , будет выполняться при двух этих процессах: page rendering и page processing. И позволит мне таким образом контролировать переменные сессии?
...
Рейтинг: 0 / 0
Сессии apex
    #38423219
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NenormalkaSvDev, Я правильно понимаю что код устанавливаемый в Security Attributes -> Database Session -> Initialization PL/SQL Code , будет выполняться при двух этих процессах: page rendering и page processing. И позволит мне таким образом контролировать переменные сессии?
Правильно понимаете, в справке все написано

Use this attribute to enter a PL/SQL block that sets a context for the database session associated with the current "show page" or "accept page" request.

"show page" request = вызов page rendering
"accept page" request = вызов page processing

Но, для стандартных задач инициализации переменных для конкретных хранимых процедур, что вызываются с апексных страниц, лучшим вариантом будет использовать стандартные механизмы: items, collections, устанавливать переменные пакеты и сессию уже там где нужно, в хранимых процедурах или в страничных процессах, дабы не сваливать в кучу левую логику в одно поле.
...
Рейтинг: 0 / 0
Сессии apex
    #38423244
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даже в триггерах и то можно обращаться к сессии апексной, например

Код: plsql
1.
nvl(v('USER'),user)
...
Рейтинг: 0 / 0
Сессии apex
    #38424070
Nenormalka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev, да это я понимаю. Спасибо большое за помощь!
...
Рейтинг: 0 / 0
Сессии apex
    #38436886
Nenormalka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev,

Опять нужна ваша помощь. Создаю нашу сессию (запись в таблице просто) , и заполняю переменные глобальные значением этой сессии. И почему то переменные перезаписываются...

Заполняю их в единственном месте, там где создаю сессию: в Authentication Scheme, в функции которая вызывается после аутентификации(Post-Authentication Procedure Name). Maximum Session Length in Seconds и Maximum Session Idle Time in Seconds стоит сейчас 0 ( то есть бесконечность).

Я думала что APEX теперь не будет терять сессию сам, и надо будет самостоятельно логинится и разлогинится. И соответственно войдет в мою процедуру (Post-Authentication Procedure Name) только один раз (пользователи оч редко сами перелогиниваются).


На самом деле это не так, я вижу что APP_USER тот что нужно, но мои переменные сбиваются. И как я понимаю именно потому что create_session далеко не один раз в пост-логине вызывается:(


Хочу еще дополнить что у нас используется KERBEROS для логина.
...
Рейтинг: 0 / 0
Сессии apex
    #38437552
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NenormalkaЯ думала что APEX теперь не будет терять сессию сам, и надо будет самостоятельно логинится и разлогинится. И соответственно войдет в мою процедуру (Post-Authentication Procedure Name) только один раз (пользователи оч редко сами перелогиниваются).
Не понял про что вы. APEX не теряет своей сессии (значений items/apex collections и нек. др. своих установок) просто так, неважно какую схему аутентификации вы используете. Ввиду архитектуры теряется сессия ORACLE (состояния пакетов и установки оракловой сессии, то что устанавливалось напрямую).

Аутентификация в приложении APEX к аутентификации ORACLE не имеет никакого отношения.
Post-Authentication срабатывает 1 раз после Authentication в апексе, который вызывается явно процедурами типа apex_custom_auth.login и как правило вызывается пользователем 1 раз.
Еще есть dads аутентификация, там она в каждом запросе может вызываться автоматически, но это уже из другой оперы.
...
Рейтинг: 0 / 0
Сессии apex
    #38437867
Nenormalka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev, вроде нашла, оказывается есть дополнительная функция аутентификации(кастомная) и она срабатывает перед каждым заходом на страницу (Page Sentry Function). Так что пока ковыряюсь в ней...
...
Рейтинг: 0 / 0
Сессии apex
    #38438206
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nenormalka,

И вовсе Sentry Function - это никакая не функция аутентификации
...
Рейтинг: 0 / 0
Сессии apex
    #38439426
Nenormalka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev,

Вы меня не так поняли. Я знаю что она не для того. Но так вышло что у нас для этого используется. Чего я собственно и не ожидала)
...
Рейтинг: 0 / 0
Сессии apex
    #38439582
SvDevИ вовсе Sentry Function - это никакая не функция аутентификации
ну... не совсем.. да, она проверят валидность сессии, но одновременно может использоваться и для аутентификации

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


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