您的位置:首页 > 编程语言 > Java开发

java对Ldap操作1

2008-02-22 14:47 357 查看
前一阵学习了ldap,用java小试了一下,只实现java对ldap的查找、登陆功能,传上来供初级学者参考:

UserDaoLdap:


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);


}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: