一位同事建議我們使用多個主機用於身份驗證
基於LDAP的網站,以防一個主機當前關閉。現在我知道你可以這樣做PHP ldap_connect多個主機在一個蜂羣無法訪問的情況下
$LDAP_SERVERS = "10.101.01.1 10.100.10.2";
$ldap = ldap_connect($LDAP_SERVERS);
但是我使用的是配置文件:
return [
'domain_controller' => ['10.101.01.1', '10.100.10.2'],
'base_dn' => 'OU=foo,DC=example,DC=local',
'ssl' => false,
...
];
而作爲同事建議我的連接是通過
$protocol = $this->ssl ? $this::PROTOCOL_SSL : $this::PROTOCOL;
$port = $this->ssl ? $this::PORT_SSL : $this::PORT;
return $this->connection = ldap_connect($protocol . $hostname, $port);
完成我們的LDAP主機將來可能會通過SSL運行,我怎樣才能讓這多個主機爲此工作?在它上面只與主機名一起工作,但那是因爲它不是基於ssl的。鑑於SSL你需要ldaps://協議和端口號,對吧? 因此它不會只用主機工作,我不知道,如果你可以做簡單的連接看起來像
ldap_connect('ldaps://' . '10.101.01.1 10.100.10.2', 123);
(假定的兩臺服務器運行基於SSL的LDAP相同的端口)的東西
編輯:得到它通過使用ldap_connect('ldaps://hostnameone ldaps://hostnametwo, 636');
作爲reddit的用戶的工作說:「通知他們仍然用空格隔開,並應在出場順序受審..」
如果您使用URI,您可以省略端口號,因爲它不會被使用 – heiglandreas