229 OWA_SEC

OWA_SECパッケージは、カスタム認証のためのインタフェースを提供します。

参照:

このパッケージの実装の詳細は、次のマニュアルを参照してください。

この章の内容は次のとおりです。

229.1 OWA_SECの操作上のノート

デフォルト値を持つパラメータはオプションです。

229.2 OWA_SECサブプログラムの要約

この表は、OWA_SECサブプログラムをアルファベット順に示し、簡単に説明しています。

表229-1 OWA_SECパッケージのサブプログラム

サブプログラム 説明

GET_CLIENT_HOSTNAMEファンクション

クライアントのホスト名を戻します。

GET_CLIENT_IPファンクション

クライアントのIPアドレスを戻します。

GET_PASSWORDファンクション

ユーザーが入力したパスワードを戻します。

GET_USER_IDファンクション

ユーザーが入力したユーザー名を戻します。

SET_AUTHORIZATIONプロシージャ

カスタム認証に使用するPL/SQLアプリケーションを使用可能にします。

SET_PROTECTION_REALMプロシージャ

ページが存在するレルムを定義します。

229.2.1 GET_CLIENT_HOSTNAMEファンクション

このファンクションは、クライアントのホスト名を戻します。

構文

OWA_SEC.GET_CLIENT_HOSTNAME
 RETURN VARCHAR2;

戻り値

ホスト名。

229.2.2 GET_CLIENT_IPファンクション

このファンクションは、クライアントのIPアドレスを戻します。

構文

OWA_SEC.GET_CLIENT_IP 
  RETURN OWA_UTIL.IP_ADDRESS;

戻り値

IPアドレス。owa_util.ip_addressデータ・タイプは、先頭から4つの要素にIPアドレスの4つの数値が格納されたPL/SQL表です。たとえば、IPアドレスが123.45.67.89で、変数ipaddrがowa_util.ip_addressデータ・タイプである場合、変数には次のように値が含まれます。

ipaddr(1) = 123
ipaddr(2) = 45
ipaddr(3) = 67
ipaddr(4) = 89

229.2.3 GET_PASSWORDファンクション

このファンクションは、ユーザーがログインに使用したパスワードを戻します。

構文

OWA_SEC.GET_PASSWORD 
  RETURN VARCHAR2;

戻り値

パスワード。

使用上のノート

安全のため、このファンクションは、カスタム認証が使用されている場合にのみTRUE値を戻します。カスタム認証を使用していない場合にこのファンクションをコールすると、ファンクションは未定義の値を戻します。このため、データベースのパスワードが漏洩することはありません。

229.2.4 GET_USER_IDファンクション

このファンクションは、ユーザーがログインに使用したユーザー名を戻します。

構文

OWA_SEC.GET_USER_ID 
  RETURN VARCHAR2;

戻り値

ユーザー名。

229.2.5 SET_AUTHORIZATIONプロシージャ

このプロシージャは、OWA_CUSTOMパッケージの初期化部分でコールされると、PL/SQLゲートウェイの認証スキームを設定します。

これによって、ユーザーが要求したプロシージャを実行する前にユーザーの認証を実行するAUTHORIZEファンクションが実装されます。AUTHORIZEファンクションが配置される位置は、選択したスキームによって異なります。

構文

OWA_SEC.SET_AUTHORIZATION(
    scheme         IN       INTEGER);

パラメータ

表229-2 SET_AUTHORIZATIONプロシージャのパラメータ

パラメータ 説明

scheme

認証スキーム。SET_AUTHORIZATIONの次のスキームのいずれかです。

  • OWA_SEC.NO_CHECK - PL/SQLアプリケーションがカスタム認証を一切行わないことを示します。これはデフォルトです。

  • OWA_SEC.GLOBAL - すべてのユーザーおよびすべてのプロシージャに対してコールされる認証ファンクションを定義します。これは、"sys"スキーマのOWA_CUSTOM.AUTHORIZEファンクションです。

  • OWA_SEC.PER_PACKAGE - パッケージ内のプロシージャまたは無名プロシージャがコールされるときにコールされる、authorizeファンクションを定義する。プロシージャがパッケージ内に存在する場合、ユーザーのスキーマ内でpackage.AUTHORIZEファンクションがコールされ、ユーザーの認証を行います。プロシージャがパッケージ内に存在しない場合、ユーザーのスキーマ内で無名AUTHORIZEファンクションがコールされます。

  • OWA_SEC.CUSTOM - 各ユーザーに対して異なる認証ファンクションを実装します。ユーザーのスキーマ内でOWA_CUSTOM.AUTHORIZEファンクションがコールされ、ユーザーの認証を行います。ユーザーのスキーマにOWA_CUSTOM.AUTHORIZEファンクションが含まれていない場合、PL/SQLゲートウェイが"sys"スキーマ内を検索します。

    このカスタムAUTHORIZEファンクションには、次の署名があります。

    FUNCTION AUTHORIZE 
      RETURN BOOLEAN;

ファンクションからTRUEが戻された場合、認証は成功です。FALSEが戻された場合、認証は失敗です。AUTHORIZEファンクションが定義されていない場合、ゲートウェイはエラーを戻し、失敗します。

関連項目

229.2.6 SET_PROTECTION_REALMプロシージャ

このプロシージャは、ユーザーに戻されるページのレルムを設定します。ユーザーはユーザー名を入力し、レルム内にすでに存在するページにログインします。

構文

OWA_SEC.SET_PROTECTION_REALM(
   realm      IN      VARCHAR2);

パラメータ

表229-3 SET_PROTECTION_REALMプロシージャのパラメータ

パラメータ 説明

realm

ページが属するレルム。この文字列がユーザーに表示されます。