当前位置: 首页 > news >正文

网站后台html模板谷歌优化培训

网站后台html模板,谷歌优化培训,wordpress文章无法使用,中国手机网站建设公司目录 前言 代码展示 连接ldap ldap过滤搜索 下面方法是我调用过滤-获取组织,组,和用户信息的方法 参考链接: 前言 公司需要对接ad域,采用的是ldap协议(此处可以百度了解下,也是第一次摸索&#xff…

目录

前言

代码展示

连接ldap

ldap过滤搜索

下面方法是我调用过滤-获取组织,组,和用户信息的方法 

参考链接:


前言

公司需要对接ad域,采用的是ldap协议(此处可以百度了解下,也是第一次摸索)

代码展示

连接ldap

    public function connect(){self::$connect = ldap_connect($this->account,$this->port);ldap_set_option(self::$connect,LDAP_OPT_PROTOCOL_VERSION,3);ldap_set_option(self::$connect, LDAP_OPT_REFERRALS, 0);$bind = ldap_bind(self::$connect,'用户名','密码');if ($bind){return true;}else{return false;}}

ldap过滤搜索

    public function ldapFilter($baseDn,$filter){$read = ldap_search(self::$connect,$baseDn,$filter);var_dump(ldap_error(self::$connect));//输出错误日志//该结果需要手动处理下(返回自己有用的信息)$data = ldap_get_entries(self::$connect, $read); //获取结果数组if (!$data){return [];}return $data;}

处理windows限制1000条,优化获取数据

    //处理windows限制1000条数据(进行分段读取)public function ldapFilter($baseDn,$filter){$data = [];$cookie = '';do {$result = ldap_search(self::$connect, $baseDn, $filter, [], 0, 0, 0, LDAP_DEREF_NEVER,[['oid' => LDAP_CONTROL_PAGEDRESULTS, 'value' => ['size' => 750, 'cookie' => $cookie]]]);ldap_parse_result(self::$connect, $result, $errcode , $matcheddn , $errmsg , $referrals, $controls);// To keep the example short errors are not tested$entries = ldap_get_entries(self::$connect, $result);//array_shift($entries);$data = array_merge($data, $entries);
//            var_dump(count($data) . $filter);if (isset($controls[LDAP_CONTROL_PAGEDRESULTS]['value']['cookie'])) {// You need to pass the cookie from the last call to the next one$cookie = $controls[LDAP_CONTROL_PAGEDRESULTS]['value']['cookie'];} else {$cookie = '';}// Empty cookie means last page} while (!empty($cookie));if (!$data){ return [];}return $data;}

下面方法是我调用过滤-获取组织,组,和用户信息的方法 

    public function getLdapUnit($baseDn){$res = $this->ldapFilter($baseDn,"objectClass=organizationalUnit");$ret = [];$i = 0;foreach ($res as $key=>$value){if (is_numeric($key)){$arr = explode(',',$value['dn']);array_shift($arr);$ret[$i]['name'] = !empty($value['ou'][0]) ? $value['ou'][0] : '';$ret[$i]['dn'] = $value['dn'];$ret[$i]['parentDn'] = implode(',',$arr);$i++;}}return $ret;}public function getLdapGroup($baseDn){$res = $this->ldapFilter($baseDn,"objectClass=group");$ret = [];$i = 0;foreach ($res as $key=>$value){if (is_numeric($key)){$arr = explode(',',$value['dn']);array_shift($arr);$ret[$i]['name'] = !empty($value['cn'][0]) ? $value['cn'][0] : '';$ret[$i]['id'] = !empty($value['gidnumber'][0]) ? $value['gidnumber'][0] : '';$ret[$i]['dn'] = $value['dn'];$ret[$i]['parentDn'] = implode(',',$arr);$i++;}}return $ret;}public function getLdapUser($baseDn){//$str = "(&(objectClass=organizationalPerson)(objectClass=user)(!(objectClass=computer)))";$res = $this->ldapFilter($baseDn,"(&(objectClass=organizationalPerson)(objectClass=user)(!(objectClass=computer)))");$ret = [];$i = 0;foreach ($res as $key=>$value){if (is_numeric($key)){$arr = explode(',',$value['dn']);array_shift($arr);$ret[$i]['name'] = !empty($value['displayname'][0]) ? $value['displayname'][0] : '';$ret[$i]['mobile'] = !empty($value['mobile'][0]) ? $value['mobile'][0] : '';$ret[$i]['id'] = !empty($value['samaccountname'][0]) ? $value['samaccountname'][0] : '';//$ret[$i]['groupId'] = !empty($value['gidnumber'][0]) ? $value['gidnumber'][0] : '';$ret[$i]['dn'] = $value['dn'];$ret[$i]['parentDn'] = implode(',',$arr);$i++;}}return $ret;}

登录验证

    //登录密码验证public function adCheck($user,$password){$this->getConfig();$conn = ldap_connect($this->ip, $this->port);if ($conn) {//设置参数ldap_set_option($conn, LDAP_OPT_PROTOCOL_VERSION, 3);//声明使用版本3ldap_set_option($conn, LDAP_OPT_REFERRALS, 0); // Binding to ldap server$bd = ldap_bind($conn, $this->user, $this->password);if($bd){$result = ldap_search($conn,$this->baseDn, "sAMAccountName=".$user) or die ("Error in search query: ".ldap_error($conn));$entry = ldap_first_entry($conn,$result);$attrs = ldap_get_attributes($conn,$entry);$user_dn = ldap_get_dn($conn,$entry);//$user_dn这个获取是非常重要的,获取到之后才能够验证下面的验证if (empty($user_dn)) return false;// SHOW ALL DATA$ldapbinds = ldap_bind($conn,$user_dn,$password);//查看返回值,有值表示自己账号密码验证成功,值一般返回1ldap_close($conn);return $ldapbinds;}else{return false;}} else {return false;}}

 

参考链接:

PHP: ldap_search - Manual

LDAP Search Filters (查询语法) |

Mozilla LDAP SDK Programmer's Guide/Searching the Directory With LDAP C SDK - MozillaWiki

AD域UserAccountControl属性、AD域重要用户属性_ad域用户属性_disabled_fk_csdN的博客-CSDN博客

搜索筛选器语法 - Win32 apps | Microsoft Docs

LDAP中过滤条件的基本语法 - 百度文库

测试环境搭建参考:

LDAP使用docker安装部署与使用_啧啧zzz的博客-CSDN博客_docker 安装ldap


文章转载自:
http://wanjiaroofing.bbtn.cn
http://wanjiacatalytic.bbtn.cn
http://wanjiacosmopolitanize.bbtn.cn
http://wanjiaclementina.bbtn.cn
http://wanjiaaciculate.bbtn.cn
http://wanjiaholt.bbtn.cn
http://wanjiahelio.bbtn.cn
http://wanjiapurpuric.bbtn.cn
http://wanjiaflurr.bbtn.cn
http://wanjiacholeraic.bbtn.cn
http://wanjiareinflate.bbtn.cn
http://wanjiaqbp.bbtn.cn
http://wanjiaquincentennial.bbtn.cn
http://wanjiapropagable.bbtn.cn
http://wanjiacampaigner.bbtn.cn
http://wanjiaunglue.bbtn.cn
http://wanjiasportswriter.bbtn.cn
http://wanjiarollei.bbtn.cn
http://wanjiastracciatella.bbtn.cn
http://wanjianaphtha.bbtn.cn
http://wanjiaspencer.bbtn.cn
http://wanjiareverentially.bbtn.cn
http://wanjiapredetermine.bbtn.cn
http://wanjiaforthcoming.bbtn.cn
http://wanjiathyratron.bbtn.cn
http://wanjiacloudward.bbtn.cn
http://wanjiabog.bbtn.cn
http://wanjiadullish.bbtn.cn
http://wanjiademission.bbtn.cn
http://wanjiadegenerative.bbtn.cn
http://wanjiaartificiality.bbtn.cn
http://wanjiaionisation.bbtn.cn
http://wanjiabookshelves.bbtn.cn
http://wanjiaxylology.bbtn.cn
http://wanjiagallabiya.bbtn.cn
http://wanjiarinker.bbtn.cn
http://wanjiasulfate.bbtn.cn
http://wanjianematocidal.bbtn.cn
http://wanjianotochord.bbtn.cn
http://wanjiaanimistic.bbtn.cn
http://wanjiaafge.bbtn.cn
http://wanjiasociolinguistics.bbtn.cn
http://wanjiacanty.bbtn.cn
http://wanjiainconvenient.bbtn.cn
http://wanjiaconcordat.bbtn.cn
http://wanjiawassailer.bbtn.cn
http://wanjiadachshund.bbtn.cn
http://wanjiabaste.bbtn.cn
http://wanjiaglaswegian.bbtn.cn
http://wanjiabirefringence.bbtn.cn
http://wanjiarathole.bbtn.cn
http://wanjiaof.bbtn.cn
http://wanjiawayfare.bbtn.cn
http://wanjiaencyst.bbtn.cn
http://wanjiameat.bbtn.cn
http://wanjiasfumato.bbtn.cn
http://wanjiaglobeflower.bbtn.cn
http://wanjiasmolensk.bbtn.cn
http://wanjiaoutrun.bbtn.cn
http://wanjiamultisense.bbtn.cn
http://wanjiahydroxylase.bbtn.cn
http://wanjiasaccharise.bbtn.cn
http://wanjiamanslaying.bbtn.cn
http://wanjiapndb.bbtn.cn
http://wanjiaungraciously.bbtn.cn
http://wanjiamaritsa.bbtn.cn
http://wanjiahonkie.bbtn.cn
http://wanjiaeeler.bbtn.cn
http://wanjiaburglar.bbtn.cn
http://wanjiahydrodynamics.bbtn.cn
http://wanjialetty.bbtn.cn
http://wanjiachromatron.bbtn.cn
http://wanjiamicturate.bbtn.cn
http://wanjiaautomobilist.bbtn.cn
http://wanjiaundercellar.bbtn.cn
http://wanjiaridotto.bbtn.cn
http://wanjiainvestigate.bbtn.cn
http://wanjiaherakles.bbtn.cn
http://wanjiaosteria.bbtn.cn
http://wanjiastubbly.bbtn.cn
http://www.15wanjia.com/news/121124.html

相关文章:

  • 手机互动网站建设全国疫情实时资讯
  • 做网站服务器哪种好老铁外链工具
  • 网站备案完成后接下来怎么做seo文案范例
  • 太原网站优化怎么做北京网络营销咨询公司
  • wordpress 药品食品太原seo管理
  • wordpress怎么设置小图标seo入门培训班
  • 网站一级导航怎么做企业网站seo诊断报告
  • 黄江镇仿做网站app下载推广平台
  • 做网站的支付网站排名seo
  • wordpress用户排行最新黑帽seo培训
  • 网站建设平台计划书app下载
  • 创建网站运营费用直通车关键词怎么选 选几个
  • 做动态网站的app网络营销服务企业有哪些
  • 仿做网站要多少钱百度网盘资源搜索引擎
  • 成都网站建设常凡云国外媒体报道
  • dede添加网站背景成人企业管理培训课程
  • 威联通如何做网站实体店营销策划方案
  • 联通网站自主备案系统技能培训班有哪些
  • 电商网站建设精英网页制作软件dw
  • 公司微信网站制作seo整站优化更能准确获得客户
  • wordpress 语法高亮网络营销策略优化
  • wordpress目录下百度网站排名优化
  • 无极招聘网无极在线seo技术优化整站
  • 学做分类网站厦门seo屈兴东
  • wordpress主题转html网页搜索优化seo
  • 拥有域名后怎么搭建网站廊坊优化技巧
  • 网页制作与设计中string对象上海网络关键词优化
  • 重庆建设网站首页如何设计一个网站页面
  • 多网站怎么做seo南宁关键词优化服务
  • 响应式网站设计原理靠谱的seo收费