- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道以前有人回答过这个问题,但它无法帮助我(除非它有帮助,但由于我的 php 知识有限,它没有帮助)。下面是我的代码:
<body>
<html>
<?php
//echo var_dump($_POST);
$user = "".$_POST["username"]."";
settype($user, "string");
$password = $_POST["password"];
$ldap_host = "ldap.burnside.school.nz";
$base_dn = "ou=students,o=bhs";
$ldap_user = "(cn=".$user.")";
$filter = "($ldap_user)"; // Just results for this user
$ldap_pass = "".$password."";
$connect = ldap_connect($ldap_host)
or exit(">>Could not connect to LDAP server<<");
ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($connect, LDAP_OPT_REFERRALS, 0);
// This next bit is the important step. Bind, or fail to bind. This tests the username/password.
if (ldap_bind($connect, $ldap_user.",".$base_dn, $ldap_pass)) {
$read = ldap_search($connect, $base_dn, $filter)
or exit(">>Unable to search ldap server<<");
// All the next 8 lines do is get the users first name. Not required
$info = ldap_get_entries($connect, $read);
$ii = 0;
for ($i = 0; $ii < $info[$i]["count"]; $ii++) {
$data = $info[$i][$ii];
if ($data == "givenname") {
$name = $info[$i][$data][0];
}
}
ldap_close($connect);
header("Location: success.php?name=$name");
}
else {
ldap_close($connect);
//header("Location: failure.php?user=$user");
}
?>
</body>
</html>
我在第 21 行遇到错误,当我绑定(bind)到服务器时说:
Warning: ldap_bind(): Unable to bind to server: Invalid DN syntax in S:\XAMPP\htdocs\PhpProject1\LDAP_main.php on line 21
有人能解决这个问题吗?当我将我的 $_POST
实现到代码中以接收用户名和密码时,它才开始发生,但正如你可以看到我注释掉的 //echo var_dump($_POST)
我实际上收到了我想要的数据。
最佳答案
用于绑定(bind)到 LDAP 服务器的 DN 是 (cn=[username]),ou=students,o=bhs
,这不是有效的 DN 语法。那应该是 cn=[username],ou=students,o=bhs
没有大括号。
您将 LDAP 过滤器(大括号内的内容)与 DN 混淆了。
我将通过以下方式进行 LDAP 身份验证:
(|(mail=[username])(cn=[username])(uid=[username]))
这样的过滤器来查找邮件中包含用户名 cn 的条目或 uid 属性关于php - LDAP 身份验证的 DN 语法无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26348338/
当我查找 DN 时带 Spring ldapTemplate , 我必须省略配置的基本 DN。 例如,当基本 DN 配置为 dc=company,dc=com 时,工作查找就像 ldapTemplat
在我的 LDAP 客户端程序中,有时我必须在搜索过滤器中包含 DN 值。但是这个 DN 经常变化,每次我都必须在我的代码中更改这个过滤器。 当我用谷歌搜索它时,我得到了这样的东西 假设您想从 R&D
如何在javascript中写一个必须遵循条件的正则表达式 DN 地址中的所有段都应遵循 cn=,ou=,o=,o=swift 序列 所有段都应该用,分隔. DN 地址最多应包含 100 个字符。 不
我最近在代码中遇到了这一行 - fprintf(logfile," |-IP Version : %dn",(unsigned int)iph->version); 这里的“%dn”
在我们的应用程序中,我们为平台和用户等内部实体生成证书。我们的内部实体由自定义 DN 标识: 平台 DN:p=平台名称 用户DN:cn=userName,p=platformName 我们尝试使用 o
我完全陷入了如何使用新值更新CSV文件中的多行的问题。问题如下,我将一个 Activity 目录csv导出文件导入了大约有500个用户的powershell中,如下所示: $Users = Impor
我进行了 LDAP 目录搜索并收到了一些结果。我需要迭代这些结果并显示每个条目的 Dn。 在我的测试环境中,我通过获取entryDN属性的值来返回Dn值。 在生产环境中,entryDN 属性始终返回
我目前在搜索 DN 包含逗号的条目时遇到问题: StringTokenizer st = new StringTokenizer(dn, "="); Attributes searchAttribut
我用下面的代码有两个目标 1) 获取属于特定广告组的用户列表 2) 获取属于该组的所有用户的电子邮件/姓氏/名字 如果有更好的方法来实现这两个目标,请告诉我。 我能够获得完整的 DN,但我不确定如何从
我想要一个正则表达式来验证所有可能的 DN 类型 我创造了一个,但它不是很好。 /([A-z0-9=]{1}[A-z0-9]{1})*[,??]/ 和其他一些 通过更改它,但徒劳无功。 可能的 DN
我有一个九节点 Cassandra 集群,一切似乎都运行良好,除了我的两台服务器相互显示为 DN。集群中的所有其他节点将所有节点显示为 UN。这两个显示除彼此之外的所有节点 UN,其中它们彼此显示为
我知道以前有人回答过这个问题,但它无法帮助我(除非它有帮助,但由于我的 php 知识有限,它没有帮助)。下面是我的代码: >Could not connect to LDAP server
我已经很清楚如何在 GRPC++ 中建立双向认证的 SSL 通信,但现在我希望在建立的 TLS 通信中获得获取 SSL 客户端 DN 的方式,以进行进一步的身份状态分类。 如果您有一些建议,谢谢。 最
什么是使用 python 获取 SSL 的主题 DN 的好方法? 这包括以下内容: 国名 州名 地区名称 组织名称 通用名 最佳答案 就像是: import ssl import socket fro
我目前正在为我的公司编写一个工具(在 ANSI C 中),它从 LDAP 目录中读取并以特定格式(即:我们旧的专有目录 db 的名称格式)输出所有数据。 然后由另一个工具处理,该工具读取输出等等...
我正在尝试对位于目录根目录的许多不同 OU 执行 LDAP 搜索。 上下文初始化: Hashtable env = new Hashtable(); env.put(Context.SECURITY_
我如何为 LDAP 搜索制作 bourne shell 代码以不返回 DN 而只返回 CN?我为此使用 iTerm2。 最佳答案 如果您只想查看 cn结果,然后您可以使用以下内容: ldapsearc
您好我正在尝试使用我的 ldap 测试服务器来验证 openca 中的用户。 我目前正在通过 phpldapadmin 连接: Login DN : cn=admin,dc=example,dc=co
我构建了一些假设 LDAP DN 不区分大小写的功能。 我已经使用 ActiveDirectory、Oracle 和 OpenLDAP 对其进行了检查,并且不区分大小写。 是否适用于所有 LDAP?
我知道你不能简单地过滤 dn,但我有这样的东西: dc=lvl3,dc=lvl2,dc=lvl1,有人可能有这样的 dn:CN=Last, First,OU=ou1,OU=retired,OU=ou1
我是一名优秀的程序员,十分优秀!