如果从其他域访问,Ldap身份验证的行为会有所不同

时间:2018-04-10 15:25:50

标签: php zend-framework active-directory ldap

我正在使用Zend Ldap为PHP应用程序构建身份验证系统。用户存储在Active Directory中。

这是ldap的一些配置:

'host'                   => 'ad-host',
'port'                   => '389',
'useStartTls'            => false,
'accountDomainName'      => 'SOMEDOMAIN.local',
'accountDomainNameShort' => 'SOMEDOMAIN',
'baseDn'                 => 'DC=somedomain,DC=local',
'accountCanonicalForm'   => 3

现在,当我通过用户名(例如:testuser)和密码绑定时,用户名实际上用作:SOMEDOMAIN\testuser 我已成功通过身份验证,但当我更改accountDomainNameShort to SOMEDOMAIN.local时,我收到Invalid Credentials的错误。现在,我的一位朋友与我在不同的域中,但可以访问ad-host。此用户可以在accountDomainNameShort is SOMEDOMAIN.local时通过ldap进行身份验证,但是当他使用accountDomainNameShort as just SOMEDOMAIN时,他无法连接到LDAP服务器并获得Ldap server Down的例外。我认为他需要完全合格的名称,这个例外是可以接受的。

但问题是:当我通过同一个用户(testuser)登录我的Windows机器时,我可以使用SOMEDOMAIN.local\testuserSOMEDOMAIN\testuser登录,但是当我通过Ldap登录时,我我无法使用SOMEDOMAIN.local\testuser这样做。它真的让我觉得它为什么表现不同?窗口的AD认证是否与Ldap的认证不同?如果是这样,为什么ldap认证在我使用SOMEDOMAIN.local时让我的朋友IN。我的accountDomainNameShort应该是什么?

0 个答案:

没有答案