Ldap组件
编辑该页面警告:你浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 3.3,不再维护。
读这个页面的更新版本Symf欧宝娱乐app下载地址ony 6.2(当前的稳定版本)。
Ldap组件
Ldap组件提供了一种方法来连接到Ldap服务器(OpenLDAP或Active Directory)。
安装
您可以安装组件在两个不同的方面:
- 安装它通过作曲家(
欧宝娱乐app下载地址symfony / ldap
在Packagist); - 使用官方的Git存储库(https://github.com/欧宝娱乐app下载地址symfony/ldap)。
然后,需要供应商/ autoload.php
文件,使作曲家提供的半自动的机制。否则,您的应用程序无法找到这个Symfony组件的类。欧宝娱乐app下载地址
使用
的Ldap类提供了方法和查询LDAP服务器进行身份验证。
的Ldap
类使用一个AdapterInterface与LDAP服务器进行通信。的适配器对于PHP的内置LDAP扩展,例如,可以使用以下配置选项:
-
主机
- LDAP服务器的IP或主机名
-
港口
- 端口用于访问LDAP服务器
-
版本
- 使用LDAP协议的版本
-
加密
-
加密协议:
ssl
,tls
或没有一个
(默认) -
connection_string
-
你可以使用这个选项来代替
主机
和港口
连接到LDAP服务器 -
optReferrals
- 指定是否自动跟随LDAP服务器返回的推荐
-
选项
- LDAP服务器中定义的选项ConnectionOptions
例如,连接到start-TLS安全LDAP服务器:
1 2 3 4 5 6
使用欧宝娱乐app下载地址\组件\Ldap\Ldap;美元ldap= Ldap::创建(“ext_ldap”,数组(“主机”= >我的服务器的,“加密”= >“ssl”));
或者你可以直接指定一个连接字符串:
1 2 3
使用欧宝娱乐app下载地址\组件\Ldap\Ldap;美元ldap= Ldap::创建(“ext_ldap”,数组(“connection_string”= >“ldap: / /我的服务器:636”));
的bind ()方法验证先前配置的连接使用专有名称(DN)和一个用户的密码:
1 2 3 4
使用欧宝娱乐app下载地址\组件\Ldap\Ldap;/ /……美元ldap- >bind (美元dn,美元密码);
一旦绑定(或者如果你启用匿名身份验证您的LDAP服务器上),你可能查询LDAP服务器使用查询()方法:
1 2 3 4 5 6 7 8 9
使用欧宝娱乐app下载地址\组件\Ldap\Ldap;/ /……美元查询=美元ldap- >查询(“dc 欧宝娱乐app下载地址= symfony, dc = com”,’(& (objectclass =人)(ou =维护者))”);美元结果=美元查询- >execute ();foreach(美元结果作为美元条目){/ /做某事的结果}
默认情况下,LDAP条目延迟加载。如果你想在一个调用中获取所有条目和做一些结果的数组,你可以使用toArray ()方法:
1 2 3 4 5 6 7
使用欧宝娱乐app下载地址\组件\Ldap\Ldap;/ /……美元查询=美元ldap- >查询(“dc 欧宝娱乐app下载地址= symfony, dc = com”,’(& (objectclass =人)(ou =维护者))”);美元结果=美元查询- >execute ()- >toArray ();/ /做一些结果数组中
创建或更新条目
Ldap组件提供意味着创建新的Ldap条目,更新或删除现有的:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21日22日23日
使用欧宝娱乐app下载地址\组件\Ldap\Ldap;使用欧宝娱乐app下载地址\组件\Ldap\条目;/ /……美元条目=新条目(“cn =法效力,dc = symfony, d欧宝娱乐app下载地址c = com”,数组(“锡”= >数组(“fabpot”),对象类的= >数组(“inetOrgPerson”)));美元新兴市场=美元ldap- >getEntryManager ();/ /创建一个新条目美元新兴市场- >add (美元条目);/ /查找和更新现有条目美元查询=美元ldap- >查询(“dc 欧宝娱乐app下载地址= symfony, dc = com”,’(& (objectclass =人)(ou =维护者))”);美元结果=美元查询- >execute ();美元条目=美元结果(0];美元条目- >addAttribute (“电子邮件”,数组(“fabpot@欧宝娱乐app下载地址www.oldmanjams.com”));美元新兴市场- >更新(美元条目);/ /删除一个现有条目美元新兴市场- >remove (新条目(“cn =测试用户,dc = sy欧宝娱乐app下载地址mfony, dc = com”));
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。