24.3 GET_USER_ATTRIBUTESプロシージャ

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);

パラメータ

表24-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

LDAPサーバーへのバインドでSSLを使用する場合は'Y'を設定します。一方向認証(Oracleウォレットで構成されるLDAPサーバー証明書が必要)でSSLを使用する場合は'A'を設定します。SSLを使用しない場合は'N'を設定します(デフォルト)。

p_attributes

戻される値の属性名の配列。

p_attribute_values

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

次の例に、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 => '389',
        p_attributes => L_ATTRIBUTES,
        p_attribute_values => L_ATTRIBUTE_VALUES);
END;