ヘッダーをスキップ
Oracle Fusion Middleware PL/SQL Web Toolkitリファレンス
11gリリース1(11.1.1)
B56250-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

7 owa_secパッケージ

この章では、PL/SQL Web Toolkitのowa_secパッケージのファンクション、プロシージャ、およびデータ型について説明します。


注意:

owa_secパッケージのプロシージャとファンクションは、カスタム認証に使用します。

デフォルト値のあるパラメータはオプションです。

7.1 サマリー

owa_sec.get_client_hostnameファンクション: クライアントのホスト名を返します。

owa_sec.get_client_ipファンクション: クライアントのIPアドレスを返します。

owa_sec.get_passwordファンクション: ユーザーが入力したパスワードを返します。

owa_sec.get_user_idファンクション: ユーザーが入力したユーザー名を返します。

owa_sec.set_authorizationプロシージャ: PL/SQLアプリケーションがカスタム認証を使用できるようにします。

owa_sec.set_protection_realmプロシージャ: ページが含まれるレルムを定義します。

7.2 owa_sec.get_client_hostnameファンクション

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

表7-1では、owa_sec.get_client_hostnameファンクションのプロパティを定義します。

表7-1 owa_sec.get_client_hostnameファンクション

プロパティ 定義

構文:

owa_sec.get_client_hostname return varchar2;

パラメータ:

なし

戻り値:

ホスト名。


7.3 owa_sec.get_client_ipファンクション

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

表7-2では、owa_sec.get_client_ipファンクションのプロパティを定義します。

表7-2 owa_sec.get_client_ipファンクション

プロパティ 定義

構文:

owa_sec.get_client_ip return owa_util.ip_address;

パラメータ:

なし

戻り値:

IPアドレス。owa_util.ip_addressデータ型はPL/SQLの表であり、最初の4つの要素にはIPアドレスの4つの値が含まれる。たとえば、IPアドレスが123.45.67.89で、変数ipaddrがowa_util.ip_addressデータ型である場合、変数には次の値が含まれる。

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

7.4 owa_sec.get_passwordファンクション

ユーザーがログインの際に使用したパスワードを返します。セキュリティ上の理由から、このファンクションはカスタム認証が使用されている場合にのみ実際の値を返します。カスタム認証を使用していない場合に、このファンクションをコールすると、ファンクションは未定義の値を返します。したがって、データベース・パスワードは公開されません。

表7-3では、owa_sec.get_passwordファンクションのプロパティを定義します。

表7-3 owa_sec.get_passwordファンクション

プロパティ 定義

構文:

owa_sec.get_password return varchar2;

パラメータ:

なし

戻り値:

パスワード。


7.5 owa_sec.get_user_idファンクション

ユーザーがログインの際に使用したユーザー名を返します。

表7-4では、owa_sec.get_user_idファンクションのプロパティを定義します。

表7-4 owa_sec.get_user_idファンクション

プロパティ 定義

構文:

owa_sec.get_user_id return varchar2;

パラメータ:

なし

戻り値:

ユーザー名。


7.6 owa_sec.set_authorizationプロシージャ

このプロシージャは、owa_customパッケージの初期化部分でコールされ、PL/SQL Gatewayに対して認証方式を設定します。このプロシージャはauthorizeファンクションを実装します。このファンクションは、ユーザーがリクエストするプロシージャが実行される前に、ユーザーを認証します。authorizeファンクションの配置場所は、選択した方式によって異なります。

表7-5では、owa_sec.set_authorizationプロシージャのプロパティを定義します。

表7-5 owa_sec.set_authorizationプロシージャ

プロパティ 定義

構文:

owa_sec.set_authorization(scheme in integer);

パラメータ:

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 GatewayはSYSスキーマ内でファンクションを検索する。

カスタムauthorizeファンクションのシグネチャは次のとおり。

function authorize return boolean;

ファンクションがTRUEを返した場合、認証は成功。FALSEを返した場合、認証は失敗。authorizeファンクションが定義されていない場合には、Gatewayはエラーを返して失敗する。

戻り値:

なし


7.7 owa_sec.set_protection_realmプロシージャ

ユーザーに対して返されるページのレルムを設定します。ユーザーは、レルム内にすでに存在しているユーザー名を入力してログインします。

表7-6では、owa_sec.set_protection_realmプロシージャのプロパティを定義します。

表7-6 owa_sec.set_protection_realmプロシージャ

プロパティ 定義

構文:

owa_sec.set_protection_realm(realm in varchar2);

パラメータ:

realm: ページが属するレルム。ユーザーに対してはこの文字列が表示される。

戻り値:

なし