• java对Ldap操作1


    package ldap;

    import java.util.List;

    import ldap.pojo.LdapPersonInfo;

    /**
     * access Ldap
     * 
     * 
    @author 张亮
     
    */

    public interface UserDaoLdap {
        
    /**
         * 获得所有的用户名(ldap称cn),可根据第二个参数指定返回值是否重复

         * 
         * 
    @param scope
         *            取值为0、1、2,分别对应 SearchControls 类 OBJECT_SCOPE, ONELEVEL_SCOPE,
         *            SUBTREE_SCOPE三个查询范围,分别代表 当前对象查询、当前节点下对象查询、当前节点所有子目录查询
         * 
         * 
    @param distinct
         *            true,去掉结构中的重复值;false 允许结果中包含重复值

         * 
    @return 查询范围下返回的cn列表
         
    */

        
    public List getAllPersonNames(int scope, boolean distinct);

        
    /**
         * 查询指定范围下的所有用户信息

         * 
         * 
    @param scope
         *            取值为0、1、2,分别对应 SearchControls 类 OBJECT_SCOPE, ONELEVEL_SCOPE,
         *            SUBTREE_SCOPE三个查询范围,分别代表 当前对象查询、当前节点下对象查询、当前节点所有子目录查询
         * 
         * 
    @return 查询范围下返回的所有用户信息列表

         
    */

        
    public List getAllPersons(int scope);

        
    /**
         * 根据Uid查询用户信息,*代表任意长度的任意字符

         * 
         * 
    @param uid
         *            用户的uid
         * 
    @param scope
         *            取值为0、1、2,分别对应 SearchControls 类 OBJECT_SCOPE, ONELEVEL_SCOPE,
         *            SUBTREE_SCOPE三个查询范围,分别代表 当前对象查询、当前节点下对象查询、当前节点所有子目录查询
         * 
         * 
    @return 用户信息
         
    */

        
    public List  getPersonByUid(String uid, int scope);

        
    /**
         * 查询包含当前Cn信息的所有用户,*代表任意长度的任意字符

         * 
         * 
    @param cn
         *            用户的cn
         * 
    @param scope
         *            取值为0、1、2,分别对应 SearchControls 类 OBJECT_SCOPE, ONELEVEL_SCOPE,
         *            SUBTREE_SCOPE三个查询范围,分别代表 当前对象查询、当前节点下对象查询、当前节点所有子目录查询
         * 
         * 
    @return 用户列表
         
    */

        
    public List getPersonByCn(String cn, int scope);

        
    /**
         * 使用LdapPersonInfo类对象实现复合查询,属性中可使用通配符*,*代表任意长度的任意字符

         * 
         * 
    @param ldapPersonInfo
         *            查询条件
         * 
    @param scope
         *            取值为0、1、2,分别对应 SearchControls 类 OBJECT_SCOPE, ONELEVEL_SCOPE,
         *            SUBTREE_SCOPE三个查询范围,分别代表 当前对象查询、当前节点下对象查询、当前节点所有子目录查询
         * 
         * 
    @return 用户列表
         
    */

        
    public List getPersonByPersonEnty(
                LdapPersonInfo ldapPersonInfo, 
    int scope);

        
    /**
         * 根据dn查找用户,dn为base dn 的相对dn.(若basedn为:dc=koal,dc=com,user
         * dn为:uid=123,dc=koal,dc=com,则此处只需要提供 123 作为参数)
         * 
         * 
    @param dn
         *            相对base dn的dn参数
         * 
    @return 用户信息
         
    */

        
    public LdapPersonInfo getLdapObjectByDn(String dn);

        
    /**
         * 验证用户登陆
         * 
         * 
    @param uid
         *            用户uid
         * 
    @param password
         *            用户密码
         * 
         * 
    @return 是否登陆成功
         
    */

        
    public boolean userLogin(String uid, String password);

        
    /**
         * 查询用户user dn
         * 
         * 
    @param uid
         *            用户uid
         * 
         * 
    @return 用户dn列表,当前目录节点下可能存在多个相同uid的多个user dn
         
    */

        
    public List getUserDnByUid(String uid);
    }

  • 相关阅读:
    【模板】并查集
    排队布局
    list
    js获取宽度
    js获取按键
    sublime 自定义快捷代码
    file
    git add Untracked files
    git branch
    git
  • 原文地址:https://www.cnblogs.com/weipeng/p/3342238.html
Copyright © 2020-2023  润新知