2
我使用以下代碼在LDAP中創建了一個屬性。如何將自定義屬性添加到ldap用戶?
attrs.put("NUMERICOID", "1.3.6.1.4.1.42.2.27.4.2.3.1.1.9");
attrs.put("NAME", "myattribute");
attrs.put("DESC", "for JNDITutorial example only");
attrs.put("SYNTAX", "1.3.6.1.4.1.1466.115.121.1.15");
DirContext schema = context.getSchema("");
DirContext newAttr = schema.createSubcontext ("AttributeDefinition/myattribute1", attrs);
屬性創建成功, 現在我想這個屬性添加到用戶說「USER1」(UID)。
Attributes attributeslist = context.getAttributes(ld.getUserDN(username));
attributeslist.put("myattribute1", "");
context.modifyAttributes(ld.getUserDN("test5"), DirContext.REPLACE_ATTRIBUTE, attributeslist);
但它給了我對象類違規錯誤。
任何人都可以幫助我解決這個問題嗎?我需要使用java代碼將用戶定義的attribut添加到用戶。
嗨geoffc,首先我要感謝你的幫助。對於特定的模式對象,我仍然面臨一個問題。我正在使用下面的代碼來添加DirContext personSchema =(DirContext)schema.lookup(「ClassDefinition/inetOrgPerson」); attributeslist.put(「myattribute3」,「test」); personSchema.modifyAttributes(ld.getUserDN(「test5」),DirContext.ADD_ATTRIBUTE,attributeslist);但我得到「名稱未發現異常」。即使我嘗試使用「createSubcontext」方法也有我得到相同的錯誤。你能幫我解決這個問題嗎? – 2010-05-10 05:21:52
這很有趣,您是否在擴展代碼中的模式?通常我會在安裝時通過導入的LDIF文件來完成此操作。 – geoffc 2010-05-12 02:17:04