do_login procedure

Contained in package wwpro_api_provider.

Oracle Portal calls this procedure to allow the provider to do any initialization or login-based processing before executing any portlets.

For example, a provider may have a special 'login' style setup to determine whether their service has been previously used in the user's session. Depending on the outcome, some provider-specific login processing can take place, such as producing an HTML cookie. Cookies can then be provided to each of the provider's portlets via the do_login method as they are executed.

Notes:

  • Cookies produced by this procedure are supplied to each portlet when executed.

  • This procedure cannot be used to produce Web output. It can only be used to access and set cookies.

  • Oracle Portal may call this procedure once per page request. The flag login_frequency of the provider record determines how often this method is called during an Oracle Portal session.

procedure do_login

(

p_provider_id in integer,

p_browser_cookies in cookie_table,

p_provider_cookies out cookie_table

);

Any user can use this procedure.

Version: Oracle Portal 3.0.6.6.5 or later

Parameters:

p_provider_id

The ID for the provider.

Datatype: in integer

p_browser_
cookies

Browser cookies retrieved from the HTTP header.

Datatype: in cookie_table

p_provider_
cookies

Provider-specific cookies created by the provider.

Datatype: out cookie_table

Exceptions:

  • If invalid information about the provider is returned, PROVIDER_VALIDATION_EXCEPTION is raised.

  • If the provider cannot be located, PROVIDER_NOT_FOUND_EXCEPTION is raised.

  • If the provider cannot be executed, PROVIDER_EXECUTION_EXCEPTION is raised.

  • If the provider does not allow the user to run it, PROVIDER_SECURITY_EXCEPTION is raised.

Example:

Calling code:

wwpro_api_provider.do_login(

p_provider_id => 135,
p_browser_cookies => l_browser_cookies,
p_provider_cookies => l_provider_cookies

);

Provider call:

example_provider.do_login(

p_provider_id => 135,
p_browser_cookies => l_browser_cookies,
p_provider_cookies => l_provider_cookies

);

Within example_provider.do_login, the provider may set its own cookies in p_provider_cookies. These will be sent to the browser.

p_provider_cookies(1).cookie_name := ‘cookie1’;
p_provider_cookies(1).cookie_content := ‘user:’ || wwctx_api.get_user;

p_provider_cookies(2).cookie_name := ‘cookie2’;
p_provider_cookies(2).cookie_content := ‘logintime: ‘ || wwctx_api.get_login_time;

Related topics

The PL/SQL API Reference is part of the Portal Developer Kit on Portal Studio