php ldap ad 登录验证,PHP中的LDAP身份验证 – 无需密码即可进行身份验证

在尝试使用LDAP进行身份验证时,遇到一个奇怪的现象:没有密码时所有用户都能通过验证,而只有提供正确用户名和密码组合时才会正常验证。这个问题可能涉及到代码逻辑或AD配置。是否需要检查代码或者与IT部门沟通解决?
摘要由CSDN通过智能技术生成

我在LDAP身份验证上遇到了一个奇怪的行为,我需要这个用他们的AD凭据来验证用户,这就是我所拥有的:

session_start();

$adServer = "MY IP";

$ldapconn = ldap_connect($adServer) or $this->msg = "Could not connect to LDAP server.";

$ldaprdn = "DOMAIN\\" . $_POST["username"];

$ldapbind = ldap_bind($ldapconn, $ldaprdn, $_POST["password"]);

if ($ldapbind) {

//$msg = "Successfully Authenticated";

$_SESSION['loggedin'] = 1;

$_SESSION['username'] = $username;

header("Location: ../main.php");

} else {

header("Location: ../index.php?login_failed=1");

}

这是我得到的不同行为:

>无用户名/无密码=经过身份验证(BAD)

>用户名/无密码=已验证(BAD)

>不正确的用户名/密码(两个字段都已给出)=未经过身份验证

>正确的用户名/密码(两个字段都已给出)=已验证

我发现这很难集中,如果没有使用密码字段,所有用户都会被验证.但是,如果我使用密码字段,它只会使用正确的凭据对用户进行身份验证.

我在这里做错了什么,还是应该开始唠叨IT人员?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值