1

これは通常のログインプロセスページにあります

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幅ゼロなどの値を渡したいということです

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

これは wwv_flow_custom_auth_std.login 関数で実行できますか? またはこれを行う方法はありますか?

ありがとう

4

1 に答える 1

2

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;

編集

認証スキームを変更するには (これらの手順は Apex 4 用ですが、以前のバージョンでもほぼ同じはずです):

  1. アプリケーションビルダーに移動
  2. 変更するアプリケーションを開きます
  3. 共有コンポーネントに移動
  4. 認証方式の選択
  5. 現在の認証スキームを開く
  6. ログイン処理まで下にスクロールします
  7. 認証後プロセスにコードを配置する
于 2011-02-26T02:31:48.167 に答える