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

导读


LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol)是实现提供被称为目录服务的信息服务。目录服务是一种特殊的数据库系统,其专门针对读取,浏览和搜索操作进行了特定的优化。目录一般用来包含描述性的,基于属性的信息并支持精细复杂的过滤能力。目录一般不支持通用数据库针对大量更新操作操作需要的复杂的事务管理或回卷策略。而目录服务的更新则一般都非常简单。这种目录可以存储包括个人信息、web链结、jpeg图像等各种信息。为了访问存储在目录中的信息,就需要使用运行在TCP/IP 之上的访问协议—LDAP。

LDAP目录中的信息是是按照 树型结构组织,具体信息存储在条目(entry)的数据结构中。常见的例子是通讯簿,由以字母顺序排列的名字、地址和电话号码组成。

目录服务与关系数据库之间的主要区别在于:二者都允许对存储数据进行访问,只是目录主要用于读取,其查询的效率很高,而关系数据库则是为读写而设计的。也就是目录服务不适于进行频繁的更新,属于典型的分布式结构。

总结:对于查询操作多于更新操作的(认证)系统来说,使用OpenLDAP是一个比关系数据库如MySq、PostgreSQL等更好的选择。


LDAP的功能


在LDAP的功能模型中定义了一系列利用LDAP协议的操作,主要包含以下4部分:

查询操作:允许查询目录和取得数据, 其查询性能比关系数据库好。

更新操作:目录的更新操作没关系数据库方便,更新性能较差,但也同样允许进行添加、删除、修改等操作。

复制操作:前面也提到过,LDAP是一种典型的分布式结构,提供复制操作,可将主服务器的数据的更新复制到设置的从服务器中。

认证和管理操作:允许客户端在目录中识别自己,并且能够控制一个会话的性质。


而本文所要将的OpenLDAP就是一个优秀的开源的LDAP实现。


OpenLDAP安装配置及疑惑解答


1. 安装和配置OpenLDAP

安装软件非常简单,但在配置过程中遇到了不少坎坷,不是服务启动不成功就是验证不成功。

具体的安装和配置方法网上一大把,但都参差不齐,主要是因为新旧版本的OpenLDAP不同,配置方法有很大的改动。

下面给出网上几个还算靠谱的Linux和Windows两个平台下安装该软件的方法:

1)ubuntu安装LDAP:安装方法靠谱,但配置说的不太清楚,配置注意事项看后面。

2)Ubuntu OpenLDAP Server:官方教程,最值得借鉴,是英文的,这里有中文版的,但没英文的清晰,说的比较简单。

3)Linux下安装openldap:二进制包安装方法,适用于非Ubuntu的Linux系统,稍微有点麻烦,在安装OpenlDAP之前还需要安装Berkeley DB,但配置灵活,可以自定义安装路径什么的。后面的配置也没说清楚,主要看安装方法。

4)Linux服务器部署系列之七—OpenLDAP篇:另一篇较详细的二进制安装方法及配置。

4)Windows下OpenLDAP的安装及使用介绍了LDAP的一些基础知识和Windows下安装方法。

5)图文介绍openLDAP在windows上的安装配置:比较详细,值得一看。


上面给出的这几个链接虽然还不错,但还是欠缺了些什么?对,就是讲解,网上给出的教程都是手把手教你如何安装和配置,而没有说明版本差异、具体配置的含义及为什么这样配置,如果因为版本或环境差异,你按其方法配置不成功,你也不知道哪里出的问题,因此建议还是先熟悉LDAP的基础知识,配置文件含义然后再试着安装。


2. OpenLDAP疑惑解答

下面根据我自己的经验,给出几个安装和配置注意事项,供参考。


疑惑1:细心的人会发现有的教程说要配置主机DNS,添加与LDAP相关的域名,而大部分教程都没有提及这个,那么到底要不要配置呢?

解答:当然需要配置。安装好OpenLDAP后首先需要配置slapd.conf这个文件,其中里面有

suffix        "dc
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答
LDAP服务器上配置密码策略需要使用PPolicy(Password Policy)模块。PPolicy模块提供了一组密码策略控制参数,可以用于实现各种密码策略要求。 在OpenLDAP服务器上,可以通过以下步骤配置PPolicy模块: 1. 安装必要的软件包 在终端中执行以下命令安装必要的软件包: ``` yum install openldap-servers openldap-clients openldap-servers-sql openldap-devel ``` 2. 加载PPolicy模块 编辑/etc/openldap/slapd.conf文件,在文件末尾添加以下内容: ``` modulepath /usr/lib64/openldap/ moduleload ppolicy.la ``` 上述配置启用PPolicy模块,并将PPolicy模块加载到OpenLDAP服务器中。 3. 配置PPolicy策略 编辑/etc/openldap/slapd.conf文件,在文件末尾添加以下内容: ``` overlay ppolicy ppolicy_default "cn=default,ou=policies,dc=example,dc=com" ppolicy_use_lockout ppolicy_hash_cleartext ``` 上述配置表示启用PPolicy策略,并将默认策略设置为名为"default"的策略。 4. 创建PPolicy策略 使用ldapadd命令创建一个名为"default"的PPolicy策略,内容如下: ``` dn: cn=default,ou=policies,dc=example,dc=com objectClass: top objectClass: device objectClass: pwdPolicy cn: default pwdAllowUserChange: TRUE pwdAttribute: userPassword pwdCheckQuality: 2 pwdExpireWarning: 86400 pwdFailureCountInterval: 30 pwdGraceAuthNLimit: 0 pwdInHistory: 5 pwdLockout: TRUE pwdLockoutDuration: 3600 pwdMaxAge: 7776000 pwdMaxFailure: 5 pwdMinAge: 0 pwdMinLength: 8 pwdMustChange: TRUE pwdSafeModify: FALSE ``` 上述配置表示启用PPolicy策略,并设置了一些密码策略参数,如密码最长有效期、最短长度、历史密码个数等等。 5. 重启OpenLDAP服务器 在终端中执行以下命令重启OpenLDAP服务器: ``` systemctl restart slapd.service ``` 通过以上步骤,就可以在LDAP服务器上配置密码策略,从而实现更加安全的身份验证。需要注意的是,在客户端配置密码策略时,需要确保与LDAP服务器上的配置一致。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值