Toolkitのowa_secパッケージのファンクション、プロシージャ、およびデータ型について説明します。注意:owa_secパッケージのプロシージャとファンクションは、カスタム認証に使用します。デフォルト値のあるパラメータはオプションです。クライアントのホスト名を返します。クライアントのIPアドレスを返します。ユーザーが入力したパスワードを返します。ユーザーが入力したユーザー名を返します。PL/SQLアプリケーションがカスタム認証を使用できるようにします。ページが含まれるレルムを定義します。owa_sec.get_client_hostnameファンクションクライアントのホスト名を返します。表7-1では、owa_sec.get_client_hostnameファンクションのプロパティを定義します。varchar2;パラメータ:なし戻り値:ホスト名。owa_sec.get_client_ipファンクションクライアントのIPアドレスを返します。表7-2では、owa_sec.get_client_ipファンクションのプロパティを定義します。owa_util.ip_address;パラメータ:なし戻り値:IPアドレス。owa_util.ip_addressデータ型はPL/SQLの表であり、最初の4つの要素にはIPアドレスの4つの値が含まれる。IPアドレスが123.45.67.89で、変数ipaddrがowa_util.ip_addressデータ型である場合、変数には次の値が含まれる。owa_sec.get_passwordファンクションユーザーがログインの際に使用したパスワードを返します。セキュリティ上の理由から、このファンクションはカスタム認証が使用されている場合にのみ実際の値を返します。カスタム認証を使用していない場合に、このファンクションをコールすると、ファンクションは未定義の値を返します。したがって、データベース・パスワードは公開されません。表7-3では、owa_sec.get_passwordファンクションのプロパティを定義します。varchar2;パラメータ:なし戻り値:パスワード。owa_sec.get_user_idファンクションユーザーがログインの際に使用したユーザー名を返します。表7-4では、owa_sec.get_user_idファンクションのプロパティを定義します。varchar2;パラメータ:なし戻り値:ユーザー名。Gatewayに対して認証方式を設定します。このプロシージャはauthorizeファンクションを実装します。このファンクションは、ユーザーがリクエストするプロシージャが実行される前に、ユーザーを認証します。authorizeファンクションの配置場所は、選択した方式によって異なります。表7-5では、owa_sec.set_authorizationプロシージャのプロパティを定義します。set_authorizationの場合、次のいずれかの方式。この指定では、PL/SQLアプリケーションにより、いずれのカスタム認証も行われない。全ユーザーおよび全プロシージャに対してコールされる認証ファンクションを定義する。このファンクションは、SYSスキーマのowa_custom.authorizeファンクション。パッケージ内のプロシージャまたは無名プロシージャがコールされるときにコールされる、authorizeファンクションを定義する。プロシージャがパッケージ内にある場合は、ユーザーのスキーマ内のpackage.authorizeファンクションがコールされて、ユーザーを認証する。プロシージャがパッケージ内にない場合は、ユーザーのスキーマ内の無名authorizeファンクションがコールされる。ユーザーごとに異なる認証ファンクションを実装する。ユーザーを認証するために、ユーザーのスキーマ内のowa_custom.authorizeファンクションがコールされる。GatewayはSYSスキーマ内でファンクションを検索する。カスタムauthorizeファンクションのシグネチャは次のとおり。boolean;ファンクションがTRUEを返した場合、認証は成功。FALSEを返した場合、認証は失敗。authorizeファンクションが定義されていない場合には、Gatewayはエラーを返して失敗する。owa_sec.set_protection_realmプロシージャユーザーに対して返されるページのレルムを設定します。ユーザーは、レルム内にすでに存在しているユーザー名を入力してログインします。表7-6では、owa_sec.set_protection_realmプロシージャのプロパティを定義します。ページが属するレルム。ユーザーに対してはこの文字列が表示される。reserved.法律上の。