2.3 HAS_USER_ANY_ROLESファンクション
このファンクションは、指定されたユーザーがアプリケーション・ロールに割り当てられている場合にはTRUE
を返します。このファンクションを使用すると、ユーザーにアプリケーションへのアクセスが許可されているかどうかを確認できます。
構文
APEX_ACL.HAS_USER_ANY_ROLES (
p_application_id IN NUMBER DEFAULT apex_application.g_flow_id,
p_user_name IN VARCHAR2 DEFAULT apex_application.g_user )
RETURN boolean;
パラメータ
表2-3 HAS_USER_ANY_ROLESファンクションのパラメータ
パラメータ | 説明 |
---|---|
p_application_id |
ユーザーがアプリケーション・ロールに割り当てられているかどうかを確認するアプリケーションID。デフォルトは、現在のアプリケーションです。 |
p_user_name |
確認するアプリケーション・ユーザーの大/小文字を区別しない名前。現在ログインしているユーザーがデフォルトに設定されます。 |
例
次の例では、HAS_USER_ANY_ROLES
ファンクションを使用して、SCOTT
というユーザー名がアプリケーション255
で任意のアプリケーション・ロールに割り当てられているかどうかを確認する方法を示します。
DECLARE
l_has_user_any_roles boolean := false;
BEGIN
l_has_user_any_roles := APEX_ACL.HAS_USER_ANY_ROLES (
p_application_id => 255,
p_user_name => 'SCOTT' );
IF NOT l_has_user_any_roles THEN
raise_application_error(-20001, 'Scott is not assigned to any application role' );
END IF;
END;
親トピック: APEX_ACL