使用OpenLDAP的Mac OS X 10.9服务器身份validation不起作用

我有一个运行OpenLDAP版本2.4.31的Debian服务器,现在我试图连接我的Mac OS X 10.9服务器,以便我可以validation现有的LDAP用户。 我使用目录实用程序成功连接了它们,并将用户logging映射到服务器返回的值。 我做了以下映射:

User: inetOrgPerson EmailAddress: mail FirstName: givenName LastName: sn Password: userPassword PrimaryGroupID: #5000 RealName: cn RecordName: uid UniqueID: uidNumber GeneratedUID: mail 

我可以使用目录实用程序和本地networking上运行的服务(如Time Machine)成功进行身份validation。 但是,当我尝试访问可从Internet访问的任何服务(如Wiki服务器或Xcode服务器)时,身份validation将失败。 当我尝试login到Wiki时,这是从我的OS X服务器的日志:

 Nov 29 21:06:55 osx.example.org collabd[437]: [CSAuthService.m:315 11d8d000 +269ms] Digest did not validate Nov 29 21:06:55 osx.example.org collabd[437]: [CSServiceDispatcher.m:260 11d8d000 +0ms] Caught exception "Invalid Credentials" [CSAuthBadDigest] executing [http]Request{AuthService.validateUsernameAndPasswordDigest:remember:(<<scrubbed>>)} 

这里是我尝试login到Xcode Server的第二个日志:

 Nov 29 21:23:27 osx.example.org collabd[437]: [CSAuthService.m:315 11b5a000 +95ms] Digest did not validate Nov 29 21:23:27 osx.example.org collabd[437]: [CSServiceDispatcher.m:260 11b5a000 +0ms] Caught exception "Invalid Credentials" [CSAuthBadDigest] executing [http]Request{AuthService.sessionForDigest:remember:(Digest username="redacted",realm="osx.example.org",nonce="****",nc="*****",cnonce="***",qop="auth",algorithm=md5-sess,uri="/",response="***",0)} 

它似乎是连接到LDAP服务器,但是什么? 无论如何,这里是LDAP日志:

 filter: (&(|(objectClass=inetOrgPerson))(|(uid=redacted)(cn=redacted))) ber_scanf fmt ({M}}) ber: ... bdb_dn2entry("dc=example,dc=org") search_candidates: base="dc=example,dc=org" (0x00000001) scope=2 ... 5298f51f => send_search_entry: conn 1001 dn="uid=redacted,ou=users,dc=example,dc=org" ber_flush2: 183 bytes to sd 12 ldap_write: want=183, written=183 ... 5298f51f <= send_search_entry: conn 1001 exit. 5298f51f send_ldap_result: conn=1001 op=3 p=3 5298f51f send_ldap_result: err=0 matched="" text="" 5298f51f send_ldap_response: msgid=4 tag=101 err=0 ber_flush2: 14 bytes to sd 12 ldap_write: want=14, written=14 0000: 30 0c 02 01 04 65 07 0a 01 00 04 00 04 00 0....e........ 

据我所知,OS X服务器向LDAP服务器询问用户logging,但是之后OS X上的某些东西不能正常工作。 有人可以告诉我,我必须做什么,以便validation工作? 问题是这个“境界”似乎是错的吗? ldap服务器的主机名是“example.org”,但是osx服务器的主机名是“osx.example.org”。 如果这个领域确实是这个问题,我该如何将它从osx.example.org改为example.org?

我意识到这是一个古老的问题,但我有同样的问题,并在我的旅行中打这个post。 如果它帮助你(或其他人),并为后代,这是我必须做的,以解决它:

在服务器上,打开WebConfigProperties.plist文件并将属性RealmAuthType从摘要更改为基本。 默认情况下,configuration文件应位于/ Library / Server / Web / Config / apache2 /。

希望这可以帮助!