Search code examples
javascriptoracle-databaseoracle-xeoracle-apex

APEX: Redirect after login to a page with arguments


this in the normal login proccess page

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' );

that redirects to page 1, my problem is that i want to redirect to page 1 but i want to pass some values like CURRENT_NODE_ID,P1_ID width zero like the example above

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

is this possible to do in wwv_flow_custom_auth_std.login function? or is there a way to do this?

Thanks


Solution

  • You don't need to pass the values via the URL. You can modify the authentication scheme to set those values when a user logs in. For example:

    In your chosen Authentication Scheme, set Post-Authentication Process to:

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

    I generally do this in a database procedure and place a call to it in the Authentication Scheme - which is why I'm using APEX_UTIL.SET_SESSION_STATE. I haven't tried it but this might also work in this field:

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

    EDIT

    To modify your Authentication Scheme (these instructions are for Apex 4, but they should be much the same for earlier versions):

    1. Go to the Application Builder
    2. Open the application you wish to modify
    3. Go to Shared Components
    4. Select Authentication Schemes
    5. Open the current Authentication Scheme
    6. Scroll down to Login Processing
    7. Place your code in the Post-Authentication Process