Java クラスを使用して OpenLDAP の属性を更新できるようにする必要があります。
LDAP エントリの作成に挑戦しましたが、適切な LDAP エントリではなく、Java オブジェクトのように見えます。(ぐう)
javax.naming.Context をインポートします。 import javax.naming.InitialContext; import javax.naming.NamingException; import javax.naming.NameAlreadyBoundException; import javax.naming.directory.*; import java.util.*; 公開クラス TestLDAP { static final long serialVersionUID = -1240113639782150930L; final static String ldapServerName = "localhost:636"; final static String rootdn = "cn=The Manager,ou=mydept,o=mycompany"; final static String rootpass = "パスワード"; final static String rootContext = "ou=mydept,o=mycompany"; public static void main( String[] args ) { System.setProperty("javax.net.ssl.trustStore", "C:\\cacerts"); プロパティ env = new Properties(); env.put("com.sun.jndi.ldap.trace.ber", System.out); env.put( Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory" ); env.put(Context.SECURITY_PROTOCOL, "ssl"); env.put( Context.PROVIDER_URL, "ldap://" + ldapServerName + "/" + rootContext ); env.put( Context.SECURITY_PRINCIPAL, rootdn ); env.put( Context.SECURITY_CREDENTIALS, rootpass ); 試す { // 環境を使用して初期ディレクトリ コンテキストを取得する DirContext ctx = new InitialDirContext( env ); // LDAP エントリを追加 属性 myAttrs = new BasicAttributes(true); 属性 oc = new BasicAttribute("objectclass"); oc.add("inetOrgPerson"); oc.add("組織の人"); oc.add("人"); oc.add("トップ"); myAttrs.put(oc); myAttrs.put("cn","test996"); myAttrs.put("sn","テスト 996"); ctx.bind("cn=test997", myAttrs); } catch ( NameAlreadyBoundException 鍋 ) { System.err.println( "値は既にバインドされています!" ); キャッチ(例外e){ e.printStackTrace(); } } }
助けてください!