Ldap中好像可以用如下方式获取一个对象    try {
       User user = (User)new InitialContext().lookup("ldap://localhost/Sample");
    } catch (NamingException e) {
    }但是这个对象如何存到ldap中呢?ldap中不是一系列的attribute和value吗?我现在想到的办法是自己写一个类User来继承DirContext
然后加一个构造函数
public User(String url){
    // 这里获取DirContext,并对User的members赋值
}请问有没有更简单的?这个方法是不是复杂了?
ldap是不是可以直接取一个对象?thanks a lot

解决方案 »

  1.   

    不是有LDAPEntry这个的吗,就相当于object了,不知道楼主要什么呢,
    有没有用第三方的jar包呢?
      

  2.   

    没有用第三方的包,LDAPEntry是什么东西?Jldap里面的东西吧?Object obj = (Object)new InitialContext().lookup("ldap://localhost/Sample");
    得到的就是一个对象,我想了一下,我原先的方案是正确的,不可能再简化了,三方包即使要实现也只能基于类似原理。另一个问题请教:
    如何用java代码动态修改schema?
    能否给一份代码参考,我不知道是不是用EventContext类,
    现在用的是openldap,好像不支持动态修改schema,
    所以没法测试,所以请给份现成的代码,谢谢各位
      

  3.   

    我也用过openldap,schema是自己事先定义好的,不知道怎么实现动态,按我的理解是不行的
    我用的包是netscape directory sdk for java,跟jldap类似的,
    这些包都很多工作帮你做了怎么不用呢ldapentry是一个条目啊,就是一个节点,也可以说是一组attribute对应value的集合,其实就是你说的对象了