この章では、PL/SQL Web Toolkitのowa_sec
パッケージのファンクション、プロシージャ、およびデータ型について説明します。
注意: owa_sec パッケージのプロシージャとファンクションは、カスタム認証に使用します。 |
デフォルト値のあるパラメータはオプションです。
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-1では、owa_sec.get_client_hostnameファンクションのプロパティを定義します。
クライアントの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アドレスが ipaddr(1) = 123 ipaddr(2) = 45 ipaddr(3) = 67 ipaddr(4) = 89 |
ユーザーがログインの際に使用したパスワードを返します。セキュリティ上の理由から、このファンクションはカスタム認証が使用されている場合にのみ実際の値を返します。カスタム認証を使用していない場合に、このファンクションをコールすると、ファンクションは未定義の値を返します。したがって、データベース・パスワードは公開されません。
表7-3では、owa_sec.get_passwordファンクションのプロパティを定義します。
ユーザーがログインの際に使用したユーザー名を返します。
表7-4では、owa_sec.get_user_idファンクションのプロパティを定義します。
このプロシージャは、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: パッケージ内のプロシージャまたは無名プロシージャがコールされるときにコールされる、 OWA_SEC.CUSTOM: ユーザーごとに異なる認証ファンクションを実装する。ユーザーを認証するために、ユーザーのスキーマ内のowa_custom.authorizeファンクションがコールされる。ユーザーのスキーマにowa_custom.authorizeファンクションが含まれない場合、PL/SQL GatewayはSYSスキーマ内でファンクションを検索する。 カスタム function authorize return boolean; ファンクションがTRUEを返した場合、認証は成功。FALSEを返した場合、認証は失敗。 |
戻り値: |
なし |
ユーザーに対して返されるページのレルムを設定します。ユーザーは、レルム内にすでに存在しているユーザー名を入力してログインします。
表7-6では、owa_sec.set_protection_realmプロシージャのプロパティを定義します。