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

java对Ldap操作1的更多相关文章

  1. JAVA使用Ldap操作AD域

    项目上遇到的需要在集成 操作域用户的信息的功能,第一次接触ad域,因为不了解而且网上其他介绍不明确,比较费时,这里记录下. 说明: (1). 特别注意:Java操作查询域用户信息获取到的数据和域管理员 ...

  2. java对Ldap操作2

    package ldap.pojo;import java.util.List;/** * @author 张亮  * ldap用户属性信息数据类 */public class LdapPersonI ...

  3. java对Ldap操作4

    applicationContext.xml <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE  ...

  4. Java下LDAP操作的资料

    话说LDAP真是个诡异的protocol(或者数据库,或者服务,whatever...),没有一个特别形象的spec.这里列出一些筛选出的还可以的文档,都是oracle的: https://docs. ...

  5. java对Ldap操作3

    "));    }}

  6. OpenLDAP使用疑惑解答及使用Java完成LDAP身份认证

    导读 LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol)是实现提供被称为目录服务的信息服务.目录服务是一种特殊的数据库系统,其专门针对读取,浏览 ...

  7. 利用LDAP操作AD域

    LDAP操作代码样例  初始化LDAP 目录服务上下文 该例子中,我们使用uid=linly,ou=People,dc=jsoso,dc=net这个账号,链接位于本机8389端口的LDAP服务器(ld ...

  8. Java Spring mvc 操作 Redis 及 Redis 集群

    本文原创,转载请注明:http://www.cnblogs.com/fengzheng/p/5941953.html 关于 Redis 集群搭建可以参考我的另一篇文章 Redis集群搭建与简单使用 R ...

  9. Java的JDBC操作

    Java的JDBC操作 [TOC] 1.JDBC入门 1.1.什么是JDBC JDBC从物理结构上来说就是java语言访问数据库的一套接口集合,本质上是java语言根数据库之间的协议.JDBC提供一组 ...

随机推荐

  1. JAVA zip解压 MALFORMED 错误

    最近在在使用zip 解压时,使用JDK1.7及以上版本在解压时,某些文件会报异常 Exception in thread "main" java.lang.IllegalArgum ...

  2. python模块学习 hashlib

    一.hashlib概述 涉及加密服务:14. Cryptographic Services 其中 hashlib是涉及安全散列和消息摘要,提供多个不同的加密算法借口,如SHA1.SHA224.SHA2 ...

  3. 单页应用引擎的写法artTemplate

    使用到了ba-haschange.js <script src="../style/js/plugin/template-native-debug.js"></s ...

  4. asp.net取HTML控件值

    asp.net取HTML控件值所有html表单里面的值控件,提交后都是以键值 key=value&key=value&……这样的形式提交给后台. radio也一样,会将选中的radio ...

  5. UML2.0统一建模语言

      Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规 ...

  6. 2016030102 - Ubuntu软件安装与删除相关命令

    apt-get, dkpg 常用命令: 安装软件命令: apt-get install softname1 softname2 softname3…… 卸载软件命令: apt-get remove s ...

  7. ASP.NET 获取来源网站的网址,获取上一网页的网址,获取来源网页的URL,获取上一网页的URL

    ASP.NET 获取来源网站的网址,获取上一网页的网址,获取来源网页的URL, 获取上一网页的URL Uri Url = HttpContext.Current.Request.UrlReferrer ...

  8. maven web项目不能创建src/main/java等文件夹的问题

    eclipse创建maevn web项目,在选择maven_archetype_webapp原型后,默认只有src/main/resources这个Source Floder.  按照maven目录结 ...

  9. HNOI2015滚粗记

    HNOI2015滚粗记 经过两天的苦战,艰难的HNOI终于结束了.感觉这次HNOI自己还是收获了许多. \(Day1\)打的很是艰难,题目一下就有种晕头转向的感觉.开场\(20min\)自己还在读题时 ...

  10. Early 80386 CPUs

    Assembling a detailed and accurate history of the 80386, including a complete listing of all the &qu ...