3

Spring を使用して ActiveDirectory レコードを LDIF 形式のファイルにエクスポートしようとしています。

LDIF ファイルの解析に関する情報はたくさんありますが、LDIF へのエクスポートに関する情報はほとんどありません。SpringにはメソッドがLDIF形式の文字列を返すLdapAttributesクラスがあるのですが、そもそもインスタンスtoString()をどこで取得するのかわかりません。LdapAttributesには何も表示されませんLdapTemplate

LdapAttributes自分でオブジェクトを作成する必要がなく、フレームワークがこれを取得する簡単な方法を提供してくれることを願っています。

4

3 に答える 3

4

unboundid LDAP SDK のようなものをチェックしてください https://www.unboundid.com/products/ldap-sdk/docs/javadoc/com/unboundid/ldif/package-summary.html

于 2013-02-14T11:18:20.893 に答える
0

うーん、私はこれを思いついた:

import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;    
import org.springframework.ldap.core.AttributesMapper;
import org.springframework.ldap.core.DistinguishedName;
import org.springframework.ldap.core.LdapAttributes;

public class PersonMapper implements AttributesMapper {

    @Override
    public Object mapFromAttributes(Attributes attrs) throws NamingException {
        String dnValue = (String) attrs.get("distinguishedName").get();
        DistinguishedName dn = new DistinguishedName(dnValue);
        LdapAttributes ldapAttrs = new LdapAttributes(dn);
        for (NamingEnumeration<? extends Attribute> ne = attrs.getAll(); ne.hasMore(); ) {
            ldapAttrs.put(ne.next());
        }
        return ldapAttrs;
    }
}

上記は機能しますが、これを行うにはもっとすぐに使える方法が必要だと思わずにはいられません。

于 2013-02-13T23:42:25.663 に答える