32.3 GET_USER_ATTRIBUTESプロシージャ

このプロシージャは、指定された認証ベース、ホストおよびポートを使用して、p_attributesで渡された属性名に対応するp_usernameによって指定されたユーザー名(必要に応じてパスワードを指定)について、user_attribute値のOUT配列を戻します。

構文

APEX_LDAP.GET_USER_ATTRIBUTES (
    p_username              IN VARCHAR2 DEFAULT NULL,
    p_pass                  IN VARCHAR2 DEFAULT NULL,
    p_auth_base             IN VARCHAR2,
    p_host                  IN VARCHAR2,
    p_port                  IN VARCHAR2 DEFAULT 389,
    p_use_ssl               IN VARCHAR2 DEFAULT 'N',
    p_attributes            IN  apex_application_global.vc_arr2,
    p_attribute_values      OUT apex_application_global.vc_arr2,
    p_credential_static_id  IN VARCHAR2 DEFAULT NULL );

パラメータ

表32-3 GET_USER_ATTRIBUTESのパラメータ

パラメータ 説明
p_username ユーザーのログイン名です。
p_pass p_usernameのパスワード。
p_auth_base LDAP検索ベース。たとえば、dc=users,dc=my,dc=orgなど。
p_host LDAPサーバーのホスト名。
p_port LDAPサーバーのポート番号。
p_use_ssl

(デフォルト) SSLを使用しない場合はNに設定します。

LDAPサーバーへのバインドでSSLを使用する場合はYに設定します。

一方向認証(Oracleウォレットで構成されているLDAPサーバー証明書が必要)でSSLを使用する場合はAに設定します。

p_attributes 戻される値の属性名の配列。
p_attribute_values p_attributesの各属性名に対応して戻される値の配列。
p_credential_static_id

資格証明の静的ID (匿名バインド、またはユーザー名とパスワードのバインドの場合は、NULLでも可)。

NULLではなく、資格証明が見つからなかった場合は、エラーno_data_foundが発生します。

次の例に、APEX_LDAP.GET_USER_ATTRIBUTESプロシージャを使用して、ユーザーに関連付けられている特定の属性値を取得する方法を示します。

DECLARE
    L_ATTRIBUTES apex_application_global.vc_arr2;
    L_ATTRIBUTE_VALUES apex_application_global.vc_arr2;
BEGIN
    L_ATTRIBUTES(1) := 'xxxxxxxxxx'; /* name of the employee number attribute */
    APEX_LDAP.GET_USER_ATTRIBUTES(
        p_username => 'firstname.lastname',
        p_pass => NULL,
        p_auth_base => 'cn=user,l=amer,dc=my_company,dc=com',
        p_host => 'our_ldap_sever.my_company.com',
        p_port => '636',
        p_use_ssl => 'A',
        p_attributes => L_ATTRIBUTES,
        p_attribute_values => L_ATTRIBUTE_VALUES);
END;