プライマリ・コンテンツに移動
Oracle® Application Express APIリファレンス
リリース5.0
E67397-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

4 APEX_AUTHORIZATION

APEX_AUTHORIZATIONパッケージには、アプリケーションへのアクセス権の制御および問合せに使用されるパブリック・ユーティリティ・ファンクションが格納されています。

ENABLE_DYNAMIC_GROUPSプロシージャ

このプロシージャは、現在のセッションでグループを有効にします。これらのグループは、Application Expressワークスペース・リポジトリで作成する必要はありませんが、たとえば、LDAPリポジトリからロードできます。ワークスペース・リポジトリに存在し、他のグループの付与先となっているグループを有効にすると、付与されたグループも有効になります。

Real Application Security (Oracle Database Release 12gで使用可能)が認証スキームに対して有効になっている場合、すべての動的グループがRAS動的グループまたは外部グループ(グループがdba_xs_dynamic_rolesに存在するかどうかに応じて)として有効です。

このプロシージャは、認証後プロシージャなどで、認証時または認証直後にコールする必要があります。

構文

APEX_AUTHORIZATION.ENABLE_DYNAMIC_GROUPS (
    p_group_names IN apex_t_varchar2 );

パラメータ

表4-1 ENABLE_DYNAMIC_GROUPSプロシージャのパラメータ

パラメータ 説明

p_group_names

グループ名の表。


この例では、認証後プロシージャなどから、動的グループSALESおよびHRを有効にします。

begin
   apex_authorization.enable_dynamic_groups (
       p_group_names => apex_t_varchar2('SALES', 'HR') );
end;

参照:

APEX_WORKSPACE_SESSION_GROUPSおよびAPEX_WORKSPACE_GROUP_GROUPSを確認してください

IS_AUTHORIZEDファンクション

現在のユーザーがp_authorization_nameという名前の認可を通過するかどうかを判断します。パフォーマンス上の理由で、認可の結果はキャッシュされます。そのため、ファンクションはコール時に必ず認可を評価するとは限らず、キャッシュから結果を取得することがあります。


参照:

『Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド』の評価ポイント属性の変更に関する項

構文

APEX_AUTHORIZATION.IS_AUTHORIZED (
    p_authorization_name IN VARCHAR2 )
    RETURN BOOLEAN;

パラメータ

表4-2 IS_AUTHORIZEDファンクションのパラメータ

パラメータ 説明

p_authorization_name

アプリケーションの認可スキームの名前。


戻り値

表4-3 IS_AUTHORIZEDファンクションの戻り値

パラメータ 説明

TRUE

認可に成功した場合。

FALSE

認可に失敗した場合。


この例では、"User Is Admin"という認可の結果を出力します。

begin
    sys.htp.p('User Is Admin: '||
              case apex_authorization.is_authorized (
                       p_authorization_name => 'User Is Admin' )
              when true then 'YES'
              when false then 'NO'
              else 'null'
              end);
end;

RESET_CACHEプロシージャ

このプロシージャは、セッションの認可のキャッシュをリセットし、認可の次回チェック時に再評価を強制します。

構文

APEX_AUTHORIZATION.RESET_CACHE;

パラメータ

なし。

この例では、認可のキャッシュをリセットします。

apex_authorization.reset_cache;