前へ
前へ
 
次へ
次へ


SET_SESSION_LIFETIME_SECONDSプロシージャ

このプロシージャは、カレント・セッションに対するカレント・アプリケーションの「最大セッションの長さ」の値を設定して、対応するアプリケーション属性を上書きします。これによって、開発者は、ユーザーの認証後に決定された条件に基づいてセッションの存続期間を動的に短縮また延長できます。


注意:

このプロシージャを機能させるには、アプリケーションの「最大セッションの長さ」属性がアプリケーション定義で0(ゼロ)以外の値に設定されている必要があります。開発者がこの属性を設定しなかった場合、このプロシージャは機能しません。

構文

APEX_UTIL.SET_SESSION_LIFETIME_SECONDS (
    p_seconds  IN    NUMEBER,
    p_scope    IN    VARCHAR2 DEFAULT 'SESSION');

パラメータ

表「SET_SESSION_STATEパラメータ」に、SET_SESSION_LIFETIME_SECONDSプロシージャで使用可能なパラメータを示します。

SET_SESSION_LIFETIME_SECONDSパラメータ

パラメータ 説明

p_seconds

このアプリケーションで使用されるセッションが存在可能な秒数を示す正の整数。

p_scope

'SESSION'にデフォルト設定されます。また、'APPLICATION'に設定される場合もあります。'SESSION'の場合は、このセッションを使用しているすべてのアプリケーションが影響を受けます。'APPLICATION'の場合は、カレント・セッションを使用しているカレント・アプリケーションのみが影響を受けます。


例1

次の例に、SET_SESSION_LIFETIME_SECONDSプロシージャを使用して、カレント・アプリケーションの「最大セッションの長さ」属性を7200秒(2時間)に設定する方法を示します。開発者がアプリケーションの「最大セッションの長さ」属性をアプリケーション定義で0(ゼロ)以外の値に設定しなかった場合、このAPIコールは機能しません。p_scope入力パラメータでデフォルト値の'SESSION'を使用できるようにすると、次の例は、カレント・セッションを使用しているすべてのアプリケーションに実際に適用されます。複数のApplication Expressアプリケーションで共通の認証スキームが使用され、それらのアプリケーションが共通のセッションでスイートとして動作するように設計されている場合は、このユースケースが最も一般的なユースケースとなります。

BEGIN
   APEX_UTIL.SET_SESSION_LIFETIME_SECONDS(p_seconds => 7200);
END;

例2

次の例に、SET_SESSION_LIFETIME_SECONDSプロシージャを使用して、カレント・アプリケーションの「最大セッションの長さ」属性を3600秒(1時間)に設定する方法を示します。開発者がアプリケーションの「最大セッションの長さ」属性をアプリケーション定義で0(ゼロ)以外の値に設定しなかった場合、このAPIコールは機能しません。p_scope入力パラメータのデフォルト値を上書きして'APPLICATION'に設定すると、次の例は、他のアプリケーションで同じセッションが使用されている場合でも、カレント・セッションを使用しているカレント・アプリケーションにのみ実際に適用されます。

BEGIN
    APEX_UTIL.SET_SESSION_LIFETIME_SECONDS(p_seconds => 3600, 
    p_scope => 'APPLICATION');
END;