Fix a bug with LDAP schema for evoadmin v3 for domain admins.
This commit is contained in:
parent
6d5738b30a
commit
678126d86c
|
@ -26,6 +26,10 @@ $conf['domaines']['file']['gid'] = 1000;
|
|||
// uniquement possible si $conf['admin']['what']=1 !!
|
||||
//$conf['domaines']['ldap']['virtual'] = false;
|
||||
|
||||
// Mode cluster
|
||||
// Uniquement en mode mail seul et des utilisateurs virtuels
|
||||
$conf['evoadmin']['cluster'] = true;
|
||||
|
||||
// auth SMTP by default ?
|
||||
$conf['evoadmin']['useauthsmtp'] = false;
|
||||
|
||||
|
|
|
@ -9,7 +9,8 @@
|
|||
* @version 1.0
|
||||
*/
|
||||
|
||||
define("LDAP_URI","ldap://127.0.0.1");
|
||||
#define("LDAP_URI","ldap://127.0.0.1");
|
||||
$ldap_servers = array('ldap://127.0.0.1', 'ldap://12');
|
||||
define("LDAP_BASE","dc=example,dc=com");
|
||||
define("LDAP_ADMIN_DN","cn=admin,dc=example,dc=com");
|
||||
define("LDAP_ADMIN_PASS","xxxxx");
|
||||
|
|
|
@ -82,7 +82,16 @@ if (isset($_SESSION['login'])) {
|
|||
// driver 'ldap'
|
||||
if ( $conf['domaines']['driver'] == 'ldap' ) {
|
||||
|
||||
$ldapconn = Ldap::lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS);
|
||||
//TODO: foreach LDAP serveurs
|
||||
if ($conf['evoadmin']['cluster']) {
|
||||
$ldapconns = array();
|
||||
foreach ($ldap_servers as $server) {
|
||||
array_push($ldapconns, Ldap::lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS));
|
||||
}
|
||||
}
|
||||
else {
|
||||
$ldapconn = Ldap::lda_connect(LDAP_ADMIN_DN,LDAP_ADMIN_PASS);
|
||||
}
|
||||
|
||||
if ($ldapconn) {
|
||||
|
||||
|
@ -124,8 +133,15 @@ if (isset($_SESSION['login'])) {
|
|||
// you view only your domain if using driver 'ldap'
|
||||
// we select domain in your DN
|
||||
// thanks to http://www.physiol.ox.ac.uk/~trp/regexp.html
|
||||
$mydomain = preg_replace("/uid=" .$login. ",domain=((?:(?:[0-9a-zA-Z_\-]+)\.){1,}(?:[0-9a-zA-Z_\-]+)),"
|
||||
if ($conf['evoadmin']['version'] <= 2) {
|
||||
$mydomain = preg_replace("/uid=" .$login. ",domain=((?:(?:[0-9a-zA-Z_\-]+)\.){1,}(?:[0-9a-zA-Z_\-]+)),"
|
||||
. LDAP_BASE ."/","$1",$_SESSION['dn']);
|
||||
}
|
||||
else {
|
||||
$mydomain = preg_replace("/uid=" .$login. ",cn=((?:(?:[0-9a-zA-Z_\-]+)\.){1,}(?:[0-9a-zA-Z_\-]+)),"
|
||||
. LDAP_BASE ."/","$1",$_SESSION['dn']);
|
||||
}
|
||||
|
||||
array_push($domaines,$mydomain);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue