簡體   English   中英

如何使用PHP在ldap中獲得授權用戶?

[英]How to get authorized user in ldap using php?

我想使用我的系統登錄密碼登錄php登錄頁面。 因此,我在項目中使用了LDAP概念。 我在下面提到了我的編碼,一切都很好。 但是,當我運行此代碼時,結果顯示為“無效用戶”。 我不知道為什么這顯示錯誤。

$ldaphost = 'abc.co.in';
$ldapport = '389';

$username = '4444';
$password = '4444pass';

$ldap = ldap_connect($ldaphost, $ldapport)
     or die("Could not connect to $ldaphost");

ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);

$user = "uid=$username,dc=abc,dc=co,dc=in";

$bind = @ldap_bind($ldap, $user, $password);

if ($bind) {
    echo "<br />Valid user";
} else {
    $msg = "<br />Invalid user";
    echo $msg;
}

結果以下:

在此處輸入圖片說明

我的代碼有什么問題,或者我需要添加什么?

請找到並解決此請求。 那對我會更有幫助。

謝謝你提前...

這就是我的ldap工作原理。 將您的ldap主機更改為“ ldap://abd.asd.co:389”或“ ldaps://asd.basd.co:636”。

function verify_user() {


   $user = $_REQUEST['user'];
   $passwd = $_REQUEST['pass'];

   // Bind to LDAP to check is user is valid
   $server = "ldaps://ldap.server.com:636";
   $dn = "uid=$user, ou=People, ou=something, dc=other, dc=whatever";
   // Create a fake password if needed to keep people from anonymously
   // binding to LDAP
   if($passwd == '') { $passwd = "p"; }
   $ldap = ldap_connect($server) or die("Can't connect to LDAP server!");
ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_start_tls($ldap);
   if($ldap) {
      $bnd = @ldap_bind($ldap, $dn, stripslashes($passwd));
      if(!$bnd)  {
         sleep(5);
         echo "<br>Error: Bad Username or Password!<br>";
         exit;
      }
   }

   header("Location: {$_REQUEST['url']}"); /* Redirect browser */
   exit;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM