LDAP其实是一个电话簿,类似于我们所使用诸如NIS(Network Information Service)、DNS (Domain Name Service)等网络目录,也类似于你在花园中所看到的树木
不少LDAP开发人员喜欢把LDAP与关系数据库相比,认为是另一种的存贮方式,然后在读性能上进行比较实际上,这种对比的基础是错误的LDAP和关系数据库是两种不同层次的概念,后者是存贮方式(同一层次如网格数据库,
对象数据库),前者是存贮模式和访问协议LDAP是一个比关系数据库抽象层次更高的存贮概念,与关系数据库的查询语言SQL属同一级别LDAP最基本
的形式是一个连接数据库的标准方式该数据库为读查询作了优化因此它可以很快地得到查询结果,不过在其它方面,例如更新,就慢得多
特殊的数据库
从另一个意义上 LDAP是实现了指定的数据结构的存贮,它是一种特殊的数据库但是LDAP和一般的数据库不同,明确这一点是很重要的LDAP对查询进行了优化,与写性能相比LDAP的读性能要优秀很多
就象Sybase、Oracle、Informix或Microsoft的数据库管理系统(DBMS)是用于处理查询和更新关系型数据库那样,LDAP服务器也是用来处理查询和更新LDAP目录的换句话来说LDAP目录也是一种类型的数据库,但不是关系型数据库要特别注意的是,LDAP通常作为一个 hierarchical数据库使用,而不是一个关系数据库因此,它的结构用树来表示比用表格好正因为这样,就不能用SQL语句了
21世纪的LDAP技术发展很快几乎所有计算机平台上的所有的应用程序都可以从LDAP目录中获取信息LDAP目录中可以存储各种类型的数据:电子邮件地址、邮件路由信息、人力资源数据、公用密匙、联系人列表,等等通过把LDAP目录作为系统集成中的一个重要环节,可以简化员工在企业内部查询信息的步骤,甚至连主要的数据源都可以放在任何地方
服务器
LDAP服务器可以用“推”或“拉”的方法复制部分或全部数据,例如:可以把数据“推”到远程的办公室,以增加数据的安全性复制技术是内置在LDAP服务器中的而且很容易配置如果要在DBMS中使用相同的复制功能,数据库厂商就会要你支付额外的费用,而且也很难管理LDAP(Lightweight
Directory
Access
Protocol)的意思是"轻量级目录访问协议",是一个用于访问"目录服务器"(Directory
Servers)的协议。php要能够连接上ldap服务器,必须安装php-ldap模块,并修改phpini配置,增加配置项extension=ldapso,之后重启apache服务器。
检查测试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值与nginxconf文件中的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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)