2

我正在尝试配置和理解apache2 LDAP 授权。

实际我正在运行 openSUSE 13.1 64 位作为VM,我启用了所需的模块并遵循了这些步骤:http ://www.yolinux.com/TUTORIALS/LinuxTutorialApacheAddingLoginSiteProtection.html

我的 httpd-local.conf(包含在原始 httpd.conf 中):

 AuthType              Basic
 AuthName              "Mein geschütztes Verzeichnis"
 AuthBasicProvider     ldap
 AuthLDAPURL           "ldap://ldap_server.DOMAIN1.DOMAIN2.de/ou=Test,ou=Benutzer,ou=DOMAIN1/DOMAIN2,dc=DOMAIN1,dc=DOMAIN2,dc=de"
 AuthLDAPBindDN        "cn=Firstname Lastname,ou=Test,ou=Benutzer,ou=DOMAIN1/DOMAIN2,dc=DOMAIN1,dc=DOMAIN2,dc=de"
 AuthLDAPBindPassword  "MyAccountPassword"
 Require valid-user

尝试登录时:用户:“名字姓氏”密码“MyAcountPassword”我得到:

[Mon Jul 14 11:05:38.527956 2014] [auth_basic:error] [pid 5318] [client xxx.x.x.xxx:xxxxx] AH01618: user Firstname Lastname not found: /
[Mon Jul 14 11:05:38.528605 2014] [auth_basic:error] [pid 5318] [client xxx.x.x.xxx:xxxxx] AH01618: user Firstname Lastname not found: /error/HTTP_UNAUTHORIZED.html.var

更改我的配置时:

 AuthType              Basic
 AuthName              "Mein geschütztes Verzeichnis"
 AuthBasicProvider     ldap
 AuthLDAPURL           "ldap://ldap_server.DOMAIN1.DOMAIN2.de/ou=Test,ou=Benutzer,ou=DOMAIN1/DOMAIN2,dc=DOMAIN1,dc=DOMAIN2,dc=de"
 AuthLDAPBindDN        "cn=username,ou=Test,ou=Benutzer,ou=DOMAIN1/DOMAIN2,dc=DOMAIN1,dc=DOMAIN2,dc=de"
 AuthLDAPBindPassword  "MyAccountPassword"
 Require valid-user

并尝试使用以下方式登录:用户:“用户名”密码“MyAcountPassword”我得到:

[Mon Jul 14 11:09:01.972015 2014] [auth_basic:error] [pid 5372] [client xxx.x.x.xxx:xxxxx] AH01617: user username: authentication failure for "/": Password Mismatch
[Mon Jul 14 11:09:01.973896 2014] [auth_basic:error] [pid 5372] [client xxx.x.x.xxx:xxxxx] AH01617: user username: authentication failure for "/error/HTTP_UNAUTHORIZED.html.var": Password Mismatch

~~~~~~~~~ 编辑#1:~~~~~~~~~

ldapsearch "ldap://ldap_server.DOMAIN1.DOMAIN2.de/ou=Test,ou=Benutzer,ou=DOMAIN1/DOMAIN2,dc=DOMAIN1,dc=DOMAIN2,dc=de"

正在获取:ldap_sasl_interactive_bind_s:无法联系 LDAP 服务器 (-1)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

我无法真正调试,因为我有几个未回答的问题。我以前从未使用过 LDAP,只是为了让您知道。为什么我需要 BindDN 一些东西,我希望能够与每个用户连接,而不仅仅是一个。完成后,我将创建一个主页,该主页在登录时需要此 LDAP 身份验证,并且根据用户组(我想在身份验证时返回),用户将显示不同的内容。

有人可以向我解释一下,并尝试帮助我吗?

谢谢指教。此致。

4

2 回答 2

1

仅供参考:原始文档(对于 2.4 版:https ://httpd.apache.org/docs/2.4/mod/mod_authnz_ldap.html#authldapbinddn )只有以下内容AuthLDAPBindDN

AuthLDAPBindDN distinguished-name

我的经验是,有必要准确地识别绑定帐户,或者通过准确的 DN(例如 CN=...,OU=...)描述此帐户在 ldap 树中的确切位置,或者仅通过帐户的 userPrincipalName 值。(过度使用“精确”一词是故意的。)

我已经看到报告说此参数在某些平台上可能区分大小写。

于 2015-11-05T16:15:16.717 回答
0

解决方案:

AuthType Basic
AuthName "Mein geschütztes Verzeichnis"
AuthBasicProvider ldap
AuthLDAPURL "ldap://SERVER_IP.DOMAIN1.DOMAIN2.de/ou=DOMAIN1/DOMAIN2,dc=lfm,dc=DOMAIN2,dc=de?sAMAccountName?sub?(objectClass=*)"
AuthLDAPBindDN "USERNAME@DOMAIN1.DOMAIN2.de"
AuthLDAPBindPassword "PASSWORD"
Require valid-user
于 2015-11-05T16:23:57.333 回答