मुझे OpenLDAP 2.4.32 और PHP 5.4.6 के साथ ldap_modify का उपयोग करके अपर्याप्त एक्सेस त्रुटियां मिल रही हैं।PHP ldap_modify अपर्याप्त पहुंच
php समारोह है कि त्रुटियों दे रहा है इस तरह दिखता है:
function set_user($dn, $password, $data)
{
/* This function sets the users infomation */
// Get Configuration Items
$ldapServer = $this->config->item('ldapServer');
$ldapDCRoot = $this->config->item('ldapDCRoot');
// Connect to LDAP
$ldapConnection = ldap_connect($ldapServer);
if($ldapConnection)
{
$r = ldap_bind($ldapConnection, $dn, $password);
if ($r)
{
// Bind completed successfully
$r = ldap_modify($ldapConnection, $dn, $data);
return True;
}
die("Unsuccessful Bind");
}
die("Can't connect to LDAP");
}
$ dn उपयोगकर्ता अपना पासवर्ड के साथ-साथ अपनी जानकारी को बदल करने की कोशिश कर से भरा डीएन है। और $ डेटा वह मान है जो वे अपडेट कर रहे हैं, अभी डेटा में $ डेटा ['मोबाइल'] = "newPhoneNumber" बदलने के लिए फ़ोन नंबर शामिल है। यह सब इस तथ्य को छोड़कर काम कर रहा है कि डेटा वास्तव में कभी लिखा नहीं गया है।
ओपनडैप फ़ाइल नीचे शामिल है जैसा कि आप देख सकते हैं कि एसीएल कहता है कि मुझे इसे लिखने में सक्षम होना चाहिए।
include /etc/openldap/schema/corba.schema
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/duaconf.schema
include /etc/openldap/schema/dyngroup.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/java.schema
include /etc/openldap/schema/misc.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/openldap.schema
include /etc/openldap/schema/ppolicy.schema
include /etc/openldap/schema/collective.schema
allow bind_v2
pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args
TLSCertificateFile /etc/pki/tls/certs/slapd.pem
TLSCertificateKeyFile /etc/pki/tls/certs/slapd.pem
access to *
by self write
by users read
by anonymous auth
database bdb
suffix "dc=example,dc=com"
checkpoint 1024 15
rootdn "cn=manager,dc=example,dc=com"
rootpw REDACTED
directory /var/lib/ldap
index objectClass eq,pres
index ou,cn,mail,surname,givenname eq,pres,sub
index uidNumber,gidNumber,loginShell eq,pres
index uid,memberUid eq,pres,sub
index nisMapName,nisMapEntry eq,pres,sub
प्रश्न यह है कि PHP मूल्य को अपडेट क्यों नहीं कर सकता है और इसके बजाय अपर्याप्त पहुंच त्रुटि हो रही है?
से पहले अपनी कॉल (ldap_connect के लिए), 'ldap_set_option (शून्य, LDAP_OPT_DEBUG_LEVEL, 7) की कोशिश,' जो अपाचे वैश्विक त्रुटि लॉग को डिबग आउटपुट का एक समूह डंप हो जाएगा (यह _will not_ को डंप एक vhost-विशिष्ट लॉग, या अपनी 'error_log' सेटिंग में।) – miken32