我是 Laravel 甚至框架的新手……我在 Laravel 中尝试了一些基本的身份验证。现在这是我的问题。我在传统的 PHP 中有一个 LDAP 登录脚本,我想切换到 Laravel LDAP 登录。任何人都可以帮我处理代码/捆绑包或任何东西吗?我将非常感谢您的帮助。
function check_login($username,$password){
if($username=="" || $password=="")
return 1 ;
$server1="ldap.xyz.com"; //server1 ip or dns
$server2="ldap.xyz.com"; //server2 ip or dns
$firstqry=array("alias,sn,givenname,mail,dn");
$secqry=array("givenname,jobtitledescription,sn,alias,mail,l,employeenumber");
$firstfilter="(alias=$username)";
$searchin="o=XYZ,c=AN";
$ldap=ldap_connect($server1,389);
if (!($res = @ldap_bind($ldap))) {
//echo "<b>Cannt Contact Server 1 :" .$server1 .", Now Contacting Server 2 :".$server2. ".....</b><br>";
$laststatus=ldap_errno($ldap);
if($laststatus==81){
$ldap=ldap_connect($server2,389);
if (!($res = @ldap_bind($ldap))) {
//echo "<b>Cannt Contact Server 2 :" .$server2 ."...</B><br>";
$laststatus=ldap_errno($ldap);
if($laststatus==81){
//echo "<b>Please Contact The Network Adminstartion!!</b><br>";
return 2 ; // server not found
}
}else{
$laststatus=ldap_errno($ldap);
}
}
}else{
$laststatus=ldap_errno($ldap);
}
//echo "Connection :" .ldap_error($ldap)."<br>";
if($laststatus==0){
$sr=ldap_search($ldap,$searchin,$firstfilter,$firstqry);
$info = ldap_get_entries($ldap, $sr);
for ($i=0; $i<$info["count"]; $i++) {
$searchdn=$info[$i]["dn"];
$searchalias=$info[$i]["alias"][0];
}
if($searchdn){
$secfilter=$firstfilter;
$sr2=ldap_search($ldap,$searchin,$secfilter);
$info2 = ldap_get_entries($ldap, $sr2);
$i=0;
if(count($info2)){
if (!($res = @ldap_bind($ldap,$searchdn,addslashes($password)))) {
return 1 ;
}else{
ldap_close($ldap);
return 0 ;
}
}
}else{
return 1 ;
}
}
}