APEX_AUTHORIZATIONパッケージには、アプリケーションへのアクセス権の制御および問合せに使用されるパブリック・ユーティリティ・ファンクションが格納されています。
このプロシージャは、現在のセッションでグループを有効にします。これらのグループは、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 );
パラメータ
例
この例では、認証後プロシージャなどから、動的グループ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を確認してください |
現在のユーザーがp_authorization_nameという名前の認可を通過するかどうかを判断します。パフォーマンス上の理由で、認可の結果はキャッシュされます。そのため、ファンクションはコール時に必ず認可を評価するとは限らず、キャッシュから結果を取得することがあります。
|
参照: 『Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド』の評価ポイント属性の変更に関する項 |
構文
APEX_AUTHORIZATION.IS_AUTHORIZED (
p_authorization_name IN VARCHAR2 )
RETURN BOOLEAN;
パラメータ
戻り値
例
この例では、"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;