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 回答