我是一名开发人员,负责开发一款集成 LDAP 身份验证的产品。我需要设置一个可以进行测试的目录。
我不是 LDAP 专家。为了帮助简化学习过程,提供一个真实示例目录会很有用。
是否有任何资源可以帮助我设置一个随时可用的演示目录?例如 VMware 设备?
答案1
开放数据服务运行起来非常简单 - 只需下载 ZIP 文件并运行安装程序或使用 Java web-start。如果您想查看一些示例数据,安装程序还可以用测试条目填充目录。
编辑(2020): OpenDJ是 Oracle 关闭 OpenDS 后的继任者,但我还没有测试过它是否具有同样简单的安装和示例数据。试试看吧。
我强烈推荐Apache 目录工作室作为一个良好的客户端,用来熟悉如何通过 LDAP 浏览、编辑和管理数据。
答案2
安装 Ubuntu Server Edition 8.10,启动并安装 OpenLDAP。
$ sudo apt-get install slapd ldap-utils
如果这只是为了测试,您可能只需接受默认值,因此您的域名将是dc=示例,dc=com。在安装向导中,它会要求您设置 ldap 管理员用户,该用户的 DN 应该是 *cn=admin,dc=example,dc=com`。
然后您需要添加两个组织单位,一个用于人员,一个用于组。创建文件 myldap.ldif 并将以下内容放入其中:
dn: ou=people,dc=example,dc=com
objectClass: organizationalUnit
ou: people
dn: ou=groups,dc=example,dc=com
objectClass: organizationalUnit
ou: groups
如果 LDAP 正在运行,请使用 将其关闭/etc/init.d/slapd stop
。
使用ldap添加将 LDIF 文件添加到我们的 LDAP 数据库:
$ ldapadd -x -D cn=admin,dc=example,dc=com -W -f myldap.ldif
它会要求您输入在安装过程中设置的密码。
启动 LDAP 备份/etc/init.d/slapd start
,然后安装 Webmin:
$ sudo aptitude install perl libnet-ssleay-perl openssl \
libauthen-pam-perl libpam-runtime \
libio-pty-perl libmd5-perl
$ wget http://garr.dl.sourceforge.net/sourceforge/webadmin/webmin_1.441_all.deb
$ sudo dpkg -i webmin_1.441_all.deb
现在,您可以使用 URL 导航到端口 10000 处的 LDAP 服务器 IP https://your-server-ip:10000/
。请注意,您将需要在此登录屏幕上输入计算机的 root 密码。
从这里我们需要配置 Webmin 以与我们的 LDAP 环境交互。展开“系统”,然后选择“LDAP 用户和组”。单击页面顶部的“模块配置”,找到以下选项并输入此自定义数据:
Base for users ou=People,dc=example,dc=com
Base for groups ou=Groups,dc=example,dc=com
单击底部的保存。您将返回上一个屏幕,现在可以在其中添加 LDAP 用户和组。这现在是一个正常运行的 LDAP 服务器。您可以使用以下命令从命令中查询它ldap搜索:
整个数据库:
$ ldapsearch -x -h <your-server-ip> -b "dc=example,dc=com"
用户搜索:
$ ldapsearch -x -h <your-server-ip> -b "dc=example,dc=com" '(uid=blah)'
我大部分都是凭记忆做的,所以如果我漏掉了几个步骤,请大家原谅。尽情享受吧。
答案3
我认为任何 LDAP 服务器都不会很容易,除非您稍微熟悉一下 LDAP;它们之间的大多数概念都是共享的。
对于 Windows,你可能值得看看Active Directory 应用程序模式,它为您提供了相当基本的(但足够全面以满足开发要求)LDAP 功能,而没有完整 AD 附带的所有域/DNS/等负担。
答案4
ForumSys 为此目的提供了一个免费的 LDAP 测试服务器!只需使用您喜欢的语言连接到它即可测试您的授权代码,无需任何设置,请查看:https://www.forumsys.com/tutorials/integration-how-to/ldap/online-ldap-test-server/