PHP adLDAP不工作
我正在尝试使用PHP adLDAP不工作,php,Php,我正在尝试使用adLDAP.php通过Active Directory对我的应用程序的用户进行身份验证,但它不会对用户进行身份验证,还会返回注意:未定义的属性:adLDAP::$user,位于第21行的C:\wamp\www\example\index.php中 require_once('/adLDAP/src/adLDAP.php'); try { $adldap = new adLDAP(); } catch (adLDAPException $e) { echo $e;
adLDAP.php
通过Active Directory对我的应用程序的用户进行身份验证,但它不会对用户进行身份验证,还会返回注意:未定义的属性:adLDAP::$user,位于第21行的C:\wamp\www\example\index.php中
require_once('/adLDAP/src/adLDAP.php');
try {
$adldap = new adLDAP();
}
catch (adLDAPException $e) {
echo $e;
exit();
}
if ( isset($_POST['logonUser'])){
$staff_id = $_POST['staff_id'];
$password = $_POST['password'];
$authUser = $adldap->user()->authenticate($staff_id, $password);
if ($authUser == true) {
echo '<h1> Login successful </h1>';
}
else {
echo "<h1> $adldap->user()->getLastError() </h1>";
echo "<h1> Login unsuccessful. Try again! </h1>";
}
}
require_once('/adLDAP/src/adLDAP.php');
试一试{
$adldap=新的adldap();
}
捕获(adLDAPException$e){
echo$e;
退出();
}
如果(isset($_POST['logonUser'])){
$staff\u id=$\u POST['staff\u id'];
$password=$_POST['password'];
$authUser=$adldap->user()->authenticate($staff\u id,$password);
如果($authUser==true){
echo“登录成功”;
}
否则{
echo“$adldap->user()->getLastError()”;
echo“登录失败,再试一次!”;
}
}
任何帮助都将不胜感激。谢谢。您确定您的adLDAP
类具有公共函数user()
?我猜应该是$adldap->authenticate($staff\u id,$password)代码>Javad是正确的。您还需要确保配置了适当的绑定dn。@Javad:我也试过了。它不起作用。@Yax正如Brad所说,在您的adLDAP配置中绑定了默认DN吗?尝试更改后会出现什么错误?@Yax您有两个选项:1)直接在adLDAP类中为受保护的$\u base\u dn=“O=MyDomain”设置正确的值
和受保护的$\u domain\u controllers=array('www.mydomain.com')如果端口不同,您也可以更改该端口,否则默认设置为389;2) 创建adLDAP的新实例时,请传递适当的配置参数,如$adLDAP=new adLDAP(数组('base\u dn'=>'myDomain','domain\u controllers'=>'www.myDomain.com')代码>