本文目录一览:
什么是 php LDAP模块
ldap(lightweight
directory
access
protocol)的意思是"轻量级目录访问协议",是一个用于访问"目录服务器"(directory
servers)的协议。php要能够连接上ldap服务器,必须安装php-ldap模块,并修改php.ini配置,增加配置项extension=ldap.so,之后重启apache服务器。
php ldap 用户认证的问题
你好,我也遇到过这个问题.
我的解决方法是不用RDN,直接用DN.
希望能帮到你.
LDAP/AD认证
检查测试ldap配置
如果从LDAP服务器中删除了用户,则该用户也会在GitLab中被阻止。用户将立即被阻止登录。但是,LDAP检查缓存时间为一小时(请参阅注释),这意味着已经登录或通过SSH使用Git的用户仍然可以访问GitLab最多一个小时。在GitLab管理区域中手动阻止用户以立即阻止所有访问。
在集成AD后,为了兼容前期Gitlab创建的用户账号,在创建AD用户账号时只需保证 sAMAccountName,email 属性与Gitlab用户的 Username、电子邮箱 的值一致即可(密码可以不同),使用这种方式创建的AD账户登录Gitlab时Gitlab不会创建新用户。
Nginx Proxy Manager 是一个基于MIT协议的开源项目,这个项目实现了通过web界面管理控制一些Nignx常用的功能,比如重定向、反向代理、404、甚至提供了免费的SSL,Nginx-proxy-ldap-manager在Nginx Proxy Manager的基础上添加了nginx-auth-ldap认证模块。
docker-compose
管理界面端口: 81
默认管理员密码:
使用AD认证时才配置Advanced,auth_ldap_servers值与nginx.conf文件中的ldap_server值对应
【1】 How to configure LDAP with GitLab CE
【2】 General LDAP Setup
【3】 nginx-auth-ldap
【4】 LDAP 认证
【5】 nginx-proxy-ldap-manager
php中,ldap验证的错误: 这个报错始终解决不了,可否相告~
在 LDAP 的协议之中,很像硬盘目录结构或倒过来的树状结构。LDAP 的根就是全世界,第一级是属于国别 (countries) 性质的层级,之后可能会有公司 (organization) 的层级,接着是部门 (organizationalUnit),再来为个人。而就像文件,每个人都会有所谓的显名 (distinguished name, 简称 dn),dn 可能像酱子 cn=John Smith,ou=Accounts,o=My Company,c=US。
?php
// 本例使用到 connect, bind, search, interpret search
// result, close connection 等等 LDAP 的功能。
echo "h3LDAP 搜寻测试/h3";
echo "连接中 ...";
$ds=ldap_connect("localhost"); // 先连上有效的 LDAP 服务器
echo "连上 ".$ds."p";
if ($ds) {
echo "Binding ...";
$r=ldap_bind($ds); // 匿名的 bind,为只读属性
echo "Bind 返回 ".$r."p";
echo "Searching for (sn=S*) ..."; // 找寻 S 开头的姓氏
$sr=ldap_search($ds,"o=My Company, c=US", "sn=S*");
echo "Search 返回 ".$sr."p";
echo "S 开头的姓氏有 ".ldap_count_entries($ds,$sr)." 个p";
echo "取回姓氏资料 ...p";
$info = ldap_get_entries($ds, $sr);
echo "资料返回 ".$info["count"]." 笔:p";
for ($i=0; $i$info["count"]; $i++) {
echo "dn 为: ". $info[$i]["dn"] ."br";
echo "cn 为: ". $info[$i]["cn"][0] ."br";
echo "email 为: ". $info[$i]["mail"][0] ."p";
}
echo "关闭链接";
ldap_close($ds);
} else {
echo "h4无法连接到 LDAP 服务器/h4";
}
?