addUserDataメソッド(形式2)

説明

ユーザを追加します。すでにユーザがいる場合は例外が発生します。

LDAPディレクトリサーバに作成するユーザエントリのDNには,このメソッドで指定した属性名と値が使用されます。

ユーザエントリはベースDNの直下に作成されます。また,コンストラクタで指定したユーザ属性情報にサブコンテキストの属性が含まれる場合,サブコンテキストのエントリも作成されます。

このメソッドを呼び出した結果,サブコンテキストの更新中に例外が発生した場合,ユーザ情報は不完全に更新された状態になっています。その場合,原因を取り除いてからremoveUserDataメソッドで該当ユーザを削除し,再びこのメソッドを呼び出してください。

形式

public void addUserData(String uid,
                       UserData userData,
                       String name,
                       String value)
 throws ObjectClassError, NamingException;

パラメタ

uid:
ユーザIDを指定します。
userData:
ユーザ情報を格納したUserDataオブジェクトを指定します。
name:
ユーザエントリのDNに使用する属性名を指定します。
value:
ユーザエントリのDNに使用する属性値を指定します。

例外

com.cosminexus.admin.auth.api.repository.ldap.ObjectClassError:
LDAPディレクトリサーバにエントリを作成するために必要なオブジェクトクラスが指定されていません。
javax.naming.CommunicationException:
LDAPディレクトリサーバへの接続に失敗しました。
javax.naming.NameAlreadyBoundException:
指定したユーザIDがすでにあります。
その他JNDIの例外:
バインドDNの指定ミスなどです。

戻り値

なし

注意事項

getUserDataメソッドで取得したUserDataオブジェクトにパスワードは格納されていません。そのため,getUserDataメソッドで取得したUserDataオブジェクトをそのままaddUserDataメソッドのパラメタに指定しても,ユーザの完全なコピーをすることはできません。パスワードを新たに設定してください。