Я использую LDAP для входа в систему. В настоящее время я могу войти в систему, используя учетную запись AD. Проблема в том, что моя система имеет двух типов пользователей. (Администратор может читать и писать, а другой – Обычный пользователь, который может читать только). Как фильтровать между этими двумя пользователями, чтобы при входе в систему администратора они были перенесены в их HomeScreen.php, а Обычный пользователь будет перенесен на HomeScreen2.php.
Это кодирование LDAP, которое я сделал до сих пор (не включает форму входа):
set_time_limit(30); error_reporting(E_ALL); ini_set('error_reporting', E_ALL); ini_set('display_errors',1); ///config $ldapserver = "server.name"; $ldapport = 389; $base_dn = "DC=xyz,DC=local"; $ldapuser = isset($_POST['username']) ? $_POST['username'] : ''; $ldappass = isset($_POST['password']) ? $_POST['password'] : ''; $ldaptree = "CN=ITInfra,OU=Groups,OU=MYABC,DC=xyz,DC=local"; $domain = '@abcd.local'; // connect $ldapconn = ldap_connect($ldapserver,$ldapport) or die ("Could not connect to LDAP server."); // Set some ldap options for talking to ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3); ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, 0); if ($ldapconn) { // binding to ldap server //$ldapbind = @ldap_bind($ldapconn, $ldapuser.$domain, $ldappass) or die ("<b> <center><font color='red'>WARNING! : ".ldap_error($ldapconn)); $ldapbind = @ldap_bind($ldapconn, $ldapuser.$domain, $ldappass) or die("<b><center><font color='red'>WARNING!<br> The username or password you entered is incorrect"); // verify binding if ($ldapbind) { $result = @ldap_search($ldapconn,$ldaptree, "(ou=*)") or die ("<b> <center><font color='red'>Please enter username & password"); echo "<b><center><font color='blue'> Congratulations! $ldapuser is authenticated.\n"; header('Location: HomeScreen.php'); } else { echo "LDAP bind failed...\n"; } } // all done? clean up ldap_close($ldapconn);