簡體   English   中英

LDAP中多值屬性中的單個值

[英]single value in multivalued attribute in LDAP

我有一個LDAP屬性,該屬性存儲多個值,即用戶詳細信息(例如名字,姓氏,電子郵件地址)存儲在具有鍵值對的一個屬性中。

例如,屬性名稱=“ Testuser”。 此“ Testuser”屬性具有以下多個值:firstname = test,lastname = testing email=testing@xxx.com,如下所示。

現在我想單獨使用Java代碼修改firstname值。 (我搜索了許多站點,可以在其中使用ModificationItem更改單個屬性)

這是我的代碼段:

DirContext ctx = new InitialDirContext(env);
                  SearchControls ctls = new SearchControls();
                ctls.setReturningObjFlag(true);
                ctls.setSearchScope(SearchControls.SUBTREE_SCOPE);
                                String filter;
                filter = "(&(objectClass=myobjectclass)(apn=" + userName + "))";

                                 NamingEnumeration answer = ctx.search("o=mydomain", filter, ctls);



while (answer.hasMore()) {
    SearchResult sr = (SearchResult)answer.next();
        Attributes attrs = sr.getAttributes();
        String givenName = " ";
try {
                for (NamingEnumeration e = attrs.getAll(); e.hasMore();) {

                    Attribute attr = (Attribute) e.next();

                    System.out.println("Attribute name: " + attr.getID());



                    for (NamingEnumeration n = attr.getAll(); n.hasMore(); System.out

                            .println("value: " + n.next()));
}} catch (Exception err) {
givenName = " ";
}
  }

我得到以下輸出:

Attribute name: apn
value: testuser
Attribute name: appropertycollection
value: Profile.Contact.ZipCode=46784157
value: Profile.Contact.State=7
value: Profile.Contact.MobileNum=4564545455
value: Profile.Contact.Password=12345
value: Profile.Contact.FirstName=David
value: Profile.Contact.Address=TestAddress456
value: Profile.Contact.Email=asde@xxx.com
value: Profile.Contact.LastName=lastname

現在,我只想修改屬性集合屬性中的“ Profile.Contact.FirstName = David”值。

幫助真的很感激。

謝謝!

創建javax.naming.directory.BasicAttribute怎么樣,添加所有必要的屬性。

然后,按照此處的簡短教程進行操作: Oracle教程

請給我提供一個簡短的代碼段,以便我們看到您的痛苦。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM