我最近安装了slapd(2.4.40 + dfsg-1 + deb8u2),而且我是我试图通过ldap验证apache2(2.4.10-10 + deb8u7)。系统本身是debian(8.6)。
Ldap应该在默认端口上的localhost上运行,并且使用phpldapadmin DN( cn = admin,dc = 1000,dc = hu )似乎没问题。对于apache2认证,我使用.htaccess文件,基本认证(htpasswd文件)也可以。
我的配置是:
AuthName "Add your login message here."
AuthType Basic
AuthBasicProvider ldap
AuthLDAPURL "ldap://localhost:389/dc=1000,dc=hu?sAMAccountName?sub?(objectClass=*)"
AuthLDAPBindDN "cn=admin,dc=1000,dc=hu"
AuthLDAPBindPassword ******
require ldap-user testtest test ttest
无论我做什么,我都找不到"用户#34; apache2日志中的错误:
==> /var/log/apache2/error.log <==
[Sat Jan 21 12:54:29.272676 2017] [auth_basic:error] [pid 27767] [client 127.0.0.1:52852] AH01618: user ttest not found: /t1/
==> /var/log/apache2/access.log <==
127.0.0.1 - ttest [21/Jan/2017:12:54:29 +0100] "GET /t1/ HTTP/1.1" 401 738 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"
==> /var/log/apache2/error.log <==
[Sat Jan 21 12:54:44.388323 2017] [auth_basic:error] [pid 27766] [client 127.0.0.1:52854] AH01618: user test not found: /t1/
==> /var/log/apache2/access.log <==
127.0.0.1 - test [21/Jan/2017:12:54:44 +0100] "GET /t1/ HTTP/1.1" 401 738 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"
==> /var/log/apache2/error.log <==
[Sat Jan 21 12:54:49.460321 2017] [auth_basic:error] [pid 27770] [client 127.0.0.1:52856] AH01618: user testtest not found: /t1/
==> /var/log/apache2/access.log <==
127.0.0.1 - testtest [21/Jan/2017:12:54:49 +0100] "GET /t1/ HTTP/1.1" 401 738 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"
ttest,test和testtest是我系统中的用户名,sn,cn。
AuthLDAPBindPassword的密码经过三重检查,同样适用于用户。
我在哪里弄错了?在这种情况下,AuthLDAPURL是否具有正确的值?
答案 0 :(得分:0)
嗯,在上面的示例中,AuthLDAPURL对于所描述的设置是错误的。它应该只是:
AuthLDAPURL ldap://localhost/dc=256,dc=hu?cn?sub
答案 1 :(得分:0)
我遇到了同样的错误,这与在Active Directory中使用默认属性'uid'有关,而不是指定sAMAccountName。
AuthLDAPURL ldap://192.168.1.1:389/dc=domain,dc=local?sAMAccountName