您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > PHP >

PHP操作AD,adLDAP类API详解与实例

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-02 02:04 点击:

本文简述通过PHP操作AD
工具 ADLDAP.php
下载位置http://adldap.sourceforge.net/download.php
API(以下来自http://adldap.sourceforge.net,翻译水平有限,如有不妥之处敬请指正)
constructor($options=array())//构造器
你可以通过配置变量的方式指定该类中AD的设置, 或者当类被调用的时候可以通过指定$option数组的方式被覆盖.
调用方式形似 $object = new adLDAP($options); $options 是一个由下列一个或多个keys组成的数组

account_suffix
默认:”@mydomain.local”
完整的域帐户后缀
base_dn
默认: “DC=mydomain,DC=local”
域的base dn. 一般来讲 base dn 与account suffix相同, 但是被隔开的且以"DC="为前缀. base dn 可被定位于Active Directory Users及Computers MMC的扩
展属性上
如果认证用户正常,但不能搜索,一般来说是由于指定了不正确的base_dn
 
domain_controllers
默认: array (“dc01.mydomain.local”)
域控制器数组,如果你希望该类通过多个控制器来平衡查询,可以在该数组中指定多个控制器,记住该类会向一个不可连接的域控制器发送请求,因为它只实施平衡
而无容错
.

ad_username
默认: NULL
默认地,adLDAP会以已经认证的用户帐号权限执行查询,你可以指定一个拥有更高权限的用来执行授权操作的用户帐号
 
ad_password
默认: NULL
ad_username相应的密码.

real_primarygroup
通过“Domain Users” 覆盖 primary group

use_ssl
默认: false
adLDAP 可以通过SSL使用LDAP以提供额外功能例如修改密码,选择此项时你的域控制器和WEB服务器均需配置相应选项,不只将其设置为true,详细请参考SSL方式的
LDAP选项
 
recursive_groups
默认: true
递归查询组成员
如用户Fred是组“Business Unit” 的成员,“Business Unit” 是组Department”的成员,Department”是组“Company”的成员
user_ingroup(“Fred”,”Company”)当该项开启的时候返回true,否则返回false
------------------------以下主要的操作方法
authenticate($username,$password,$prevent_rebind=false)
鉴别域控制器用户的username/password
 
group_add_group($parent,$child)
向父组里添加子组,返回true或false
 
group_add_user($group,$username)
向一个组里添加一个用户,返回true或false
 
group_create($attributes)
以指定属性创建一个组,返回true或false

Attribute Req Notes
group_name *  
container *  
description  

group_del_group($parent,$child)
从父组里删除子组,返回true或false

group_del_user($group,$users)
从一个组里删除一个用户,返回true或false

group_info($group_name,$fields=NULL)
返回一个关于指定组的信息数组,组名称区分大小写
默认文件包含member, memberof, description, distinguishedname, objectcategory, samaccountname

user_create($attributes)
创建一个用户,操作成功或失败时返回true或false

Attribute Req Notes
username *  
firstname *  
surname *  
email *  
container * The folder in AD to add the user to.
address_city   
address_code   
address_pobox   
address_state   
address_street   
change_password   如果为0用户下次登录时无需修改密码为1时下次登录时必须修改密码
company   公司名称.
department   
description   
display_name   
email   email地址,非exchange mailbox
enabled   0 为 disabled 1 为 enabled   
expires   帐户有效期 (unix timestamp).
firstname   
home_directory   
home_drive   
initials   
logon_name   登录名称不同于其他用户名.
manager   
office   
password   The

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • PHP测试
      • 十天学会php之第六天
      • 几种显示数据的方法的比较
      • 使用xmlhttp为网站增加域名查询功能
      • PHP+MYSQL+Javascript数据库查询结果的动态显示
      • 查找数组中指定键名的值
      • 用redis实现跨服务器session
      • 用新浪微博接口发送图片微博失败的原因
      • smarty局部缓存技术[源码分析]
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1