免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2664 | 回复: 5
打印 上一主题 下一主题

用php联接ldap登录验证的问题,急!!!!!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-16 15:30 |只看该作者 |倒序浏览
20可用积分
该问题来源于:http://www.unixresources.net/lin ... 0/32/89/328967.html

login1.htm如下:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<table width="34%" border="0">
<form name="form1" method="post" action="login_ok.php">
<tr>
<td>用户ID:</td>
<td>
<input name="uid" type="text" size="10" maxlength="10">
</td>
</tr>
<tr>
<td>密 码:</td>
<td><input name="pwd" type="password" size="10" maxlength="20"></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input type="submit" name="Submit" value="登 录">
</div></td>
</tr>
</form></table>
</body>
</html>

login_ok.php如下:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?
$ds=ldap_connect("192.168.0.103"); //联接ldap
if($ds){
$r=ldap_bind($ds,"cn=Directory Manager,dc=kdt,dc=roktefo,dc=cn","");//如果联上,则绑定ldap
$sr=ldap_search($ds,"dc=1,dc=id,dc=roktefo,dc=com,dc=cn","uidnumber=$_POST[uid]");
$info = ldap_get_entries($ds, $sr);
//for ($i=0; $i<$info["count"]; $i++) {
echo "用户名:$_POST[uid]<br>";
echo "密 码:$_POST[pwd]<br>";
echo $info["pwd"][0];
if($_POST[pwd] != $info["pwd"][0]){
echo "请输入正确的密码!";
}else{
echo "密码正确";
}
//}
ldap_close($ds);
}else{
echo "无法联接ldap服务器!";
}

?>
</body>
</html>

执行login1.htm,输入用户ID和密码后总是说我密码不正确:
用户名:123456
密码:123456
请输入正确的密码。
我想可能是我的ldap函数出了问题了,但我不知道具体问题出在那里,我加上echo $info["pwd"][0];后也不会打印pwd项.
各位老大帮帮我呀!!

[ 本帖最后由 smgxnet 于 2008-12-16 16:25 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-12-16 15:39 |只看该作者
那就应该是密码不正确了。

论坛徽章:
0
3 [报告]
发表于 2008-12-16 15:43 |只看该作者
密码是正常的。

论坛徽章:
0
4 [报告]
发表于 2008-12-16 15:44 |只看该作者
原帖由 smgxnet 于 2008-12-16 15:43 发表
密码是正常的。

多了空格或者是全角半角的问题?

论坛徽章:
0
5 [报告]
发表于 2008-12-16 15:46 |只看该作者
不存在你提到的问题

论坛徽章:
0
6 [报告]
发表于 2008-12-17 10:18 |只看该作者
这里人气怎么这么少呢?没有热心人吗?
我查了下资料,换了更简单的代码,可结果还是一样的。提示密码不正确。晕死了,不知道原因何在!!!!!!!!!!???????????????
以下为login_ok.php的更改后的代码:

<?php
$ds=ldap_connect("192.168.0.103");
if(ldap_bind($ds,"cn=$_POST[uid],o=xxx.edu.cn","$_POST[pwd]")){
echo "验证通过";
}else{
echo "验证不通过或用户名和密码不正确";
}
ldap_close($ds);

?>
</body>
</html>



希望有哪位热心的大侠能指点我下。谢谢啦。

[ 本帖最后由 smgxnet 于 2008-12-17 10:21 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP