Codeigniter Anwendung, die mit LDAP-Authentifizierung
Ohne codeigniter ich bin in der Lage zu verwenden, ldap_connect (), aber in der codeigniter Projekt möchte ich die Verwendung der ldap-Verbindung für die Authentifizierung der Benutzer mit deren windows-Benutzername und Passwort. Unten ist der code, der funktioniert perfekt ohne codeigniter.
/******LDAP CONNECTIVITY STARTS HERE*********/
$ldaprdn = $_POST['uname']; //ldap rdn or dn
$ldappass = $_POST['upass']; //associated password
$ldaprdn = $_POST['uname'].'@domain.com';
$ldapconn = ldap_connect("ip") or die("Could not connect to LDAP server."); //our ip
if ($ldapconn) {
$ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);
//verify binding
if ($ldapbind) {
//echo "<pre>";
//print_r($row_login);
//exit;
$_SESSION['appusername']=$_POST['uname'];
$_SESSION['emp_code']=$row_login['emp_code'];
$_SESSION['emp_id']=$row_login['emp_id'];
$_SESSION['emp_name']=$row_login['emp_name'];
$_SESSION['emp_email']=$row_login['emp_email'];
$_SESSION['emp_dept_id']=$row_login['emp_dept_id'];
$_SESSION['emp_dept_name']=$row_login['dept_name'];
$_SESSION['emp_group']=$row_login['emp_group'];
$_SESSION['emp_category']=$row_login['emp_category'];
$_SESSION['finance_app_authority']=$row_login['finance_approval_status'];
$_SESSION['line_eng_status']=$row_login['line_eng_status'];
$_SESSION['line_name']=$row_login['line_name'];
$_SESSION['dept_name']=$row_login['dept_name'];
if($row_login['emp_mod_status']=='Y'){ //if moderator means
$_SESSION['userType']='MOD';
}
else if($row_login['emp_id']==$row_login['dept_hod_id']){ //if HOD means
$_SESSION['userType']='HOD';
}else{ //if normal user means
$_SESSION['userType']='EMP';
}
echo '<script language="javascript">document.location.href="?p=main&m=it-home"</script>';
exit;
}
else{
echo '<div class="man_style" style="width:50%;padding:10px 10px 10px 250px !important;text-align:center;color:red;">Invalid password.</div>';
}
}
Alles was ich will ist zu authentifizieren Benutzer, die von windows-Benutzernamen und Passwort in codeigniter. Schlagen mir ein sehr einfacher Weg, bitte.
Ich habe versucht, Auth_Ldap Bibliothek, aber ich bin noch immer ein Fehler
LDAP-Funktionalität nicht vorhanden. Entweder laden Sie das Modul ldap-php-Modul, oder verwenden Sie ein php mit ldap-Unterstützung kompiliert.
Habe ich verwendet, Auth_Ldap-Bibliothek-Datei. die folgenden config-Datei
Weiß nicht, wo meine host-ip-Adresse
$config['account_suffix'] = '@abcd.com';
$config['base_dn'] = 'DC=domain,DC=local';
$config['domain_controllers'] = array ("server1.domain.local");
$config['ad_username'] = 'administrator';
$config['ad_password'] = 'password';
$config['real_primarygroup'] = true;
$config['use_ssl'] = false;
$config['use_tls'] = false;
$config['recursive_groups'] = true;
/* End of file adldap.php */
/* Location: ./system/application/config/adldap.php */
Ihre Hilfe wird sehr geschätzt
Ich habe aktualisiert, der code. bitte überprüfen Sie ich weiß nicht, wie zu ersetzen/verwenden Sie diese beiden Zeilen in codeigniter
$ldapconn = ldap_connect("ip") or die("Could not connect to LDAP server.");
und $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);
Haben Sie daran gedacht, um die Datei zu
/application/libraries
und laden Sie dann die Bibliothek, die mit $this->load->library('library_name');
InformationsquelleAutor J Ramesh Fernandez | 2015-03-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich nicht gefunden, die Bibliothek, die Sie verwenden möchten (Auth_Ldap), aber ich fand Auth_Ldap. Deine config-Dateien unterscheiden sich, jedoch. Ich hab die Datei heruntergeladen und in dieser config Sie klar die ldap_uri, so dass sein würde, wo Ihre host-ip geht, denke ich.
Wenn alle Stricke reißen und Sie sind komfortable schreiben Sie Ihre ganz eigene Bibliothek, das könnte auch eine Idee.
Update:
Ich habe gerade festgestellt, dass die Bibliothek scheitert in der _init () - Funktion:
Ich weiß wirklich nicht, warum das scheitern würden, wenn die Funktion cleary vorhanden ist (und funktioniert), wie Sie bereits erwähnt.
InformationsquelleAutor jejanim
Hallo,
Selbst wenn die Frage ist mehr als ein Jahr alt ist (und du wahrscheinlich die Antwort gefunden, jetzt), ich werde versuchen, einige Hinweise, wie es vielleicht jemand anderes helfen.
Den Fehler, den Sie sehen, ist, weil die php_ldap Bibliothek nicht aktiviert in deiner php.ini-Datei. Also, versuchen Sie, zu finden in der php.ini die Zeile ";extension=php_ldap.dll" und kommentieren Sie es durch das entfernen des ";" bilden den Anfang.
Hinweis:
Wenn Sie mit XAMPP (für windows), dann nach dem Neustart, wird PHP probabbly beschweren sich über einige dlls fehlen.
Um dieses problem zu lösen Sie müssen kopieren Sie die folgenden dll-Dateien aus php-Ordner apache/bin:
InformationsquelleAutor Sorin Negulescu