APEX: перенаправление после входа на страницу с аргументами - PullRequest
1 голос
/ 25 февраля 2011

это на обычной странице входа в систему

wwv_flow_custom_auth_std.login( P_UNAME => :P101_USERNAME, P_PASSWORD => :P101_PASSWORD, P_SESSION_ID => v('APP_SESSION'), P_FLOW_PAGE => :APP_ID||':1' );

, который перенаправляет на страницу 1, моя проблема в том, что я хочу перенаправить на страницу 1, но я хочу передать некоторые значения, такие как CURRENT_NODE_ID, P1_ID width zero, как в примере выше

f?p=104:1:708914681153727:::CIR:CURRENT_NODE_ID,P1_ID:0,0

это можно сделать в функции wwv_flow_custom_auth_std.login? или есть способ сделать это?

Спасибо

1 Ответ

2 голосов
/ 26 февраля 2011

Вам не нужно передавать значения через URL. Вы можете изменить схему аутентификации для установки этих значений при входе пользователя в систему. Например:

В выбранной вами схеме аутентификации установите Процесс после аутентификации на:

APEX_UTIL.SET_SESSION_STATE('CURRENT_NODE_ID', 0);
APEX_UTIL.SET_SESSION_STATE('P1_ID', 0);

Обычно я делаю это в процедуре базы данных и вызываю ее в схеме аутентификации, поэтому я использую APEX_UTIL.SET_SESSION_STATE. Я не пробовал, но это также может работать в этой области:

:CURRENT_NODE_ID := 0;
:P1_ID := 0;

EDIT

Чтобы изменить схему аутентификации (эти инструкции относятся к Apex 4, но они должны быть такими же для более ранних версий):

  1. Перейти к Application Builder
  2. Откройте приложение, которое вы хотите изменить
  3. Перейти к Общие компоненты
  4. Выбрать Схемы аутентификации
  5. Открыть текущую схему аутентификации
  6. Прокрутите вниз до Обработка входа
  7. Поместите ваш код в Процесс после аутентификации
...