Directory 0 န်ဆောင်မှုသည်သတင်းအချက်အလက်အမျိုးအစားအမျိုးမျိုးကိုသိမ်းဆည်းရန်အသုံးပြုသောစနစ်တစ်ခုကိုရည်ညွှန်းသည်။ Common Directory 0 န်ဆောင်မှုဆိုင်ရာ protocols များတွင် LDAP (ပေါ့ပါးသော directory access protocol) ပါဝင်သည်။ LDAP protocol ကိုများသောအားဖြင့်အသုံးပြုသူစစ်မှန်ကြောင်းအတည်ပြုခြင်းနှင့်ခွင့်ပြုချက်, အီးမေးလ်လိပ်စာစာအုပ်, PHP ဘာသာစကားဖြင့် LDAP Protocol မှတဆင့် LDAP Protocol မှတစ်ဆင့် LDAP Protocol မှတစ်ဆင့်လမ်းညွှန်ဝန်ဆောင်မှုနှင့်ဆက်သွယ်ရန်ဤဆောင်းပါးသည်မိတ်ဆက်ပေးလိမ့်မည်။
LDAP ဆာဗာနှင့်ဆက်သွယ်ရန် PHP ကိုအသုံးပြုရန်သင် LDAP extension ကို install လုပ်ရန်လိုအပ်သည်။ Linux Systems တွင်၎င်းကို Package Manager မှတစ်ဆင့်တိုက်ရိုက်တပ်ဆင်နိုင်သည်။
sudo apt-get install PHP-LDAP install လုပ်ပါ
Windows စနစ်များတွင် PHP.INI ဖိုင်ရှိ LDAP extension ၏ 0 န်ဆောင်မှုလိုင်းကိုမထိန်းချုပ်နိုင်ပါ။ (ယခင် semicolon ကိုဖယ်ရှားပါ)
; extension = ldap
extension ကို install လုပ်ပြီးနောက်၎င်းကိုအကျိုးသက်ရောက်စေရန်ဝက်ဘ်ဆာဗာကိုပြန်လည်စတင်ပါ။
ပထမ ဦး စွာသင်သည် LDAP_Connect () function ကိုသုံးရန်လိုအပ်သည့် LDAP ဆာဗာနှင့်ချိတ်ဆက်ရန်လိုအပ်သည်။ ဤလုပ်ဆောင်ချက်သည်နောက်ဆက်တွဲစစ်ဆင်ရေးများအတွက် LDAP ဆက်သွယ်မှုအရာဝတ်ထုကိုပြန်ပို့သည်။ နမူနာကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
$ ldappost = 'ldap.example.com'; $ ldapport = 389; $ LDAPCONN = LDAP_Connect ($ ldappost, $ ldapport);
အမှန်တကယ် application များအရသင်သည် LDAP ဆာဗာလိပ်စာနှင့်ဆိပ်ကမ်းသို့ $ ldaphost နှင့် $ ldapport ကိုပြောင်းလဲရန်လိုအပ်သည်။
ဆက်သွယ်မှုအောင်မြင်ပြီးနောက် LDAP ဆာဗာသို့ချည်နှောင်ရန် LDAP_BIND () function ကိုအသုံးပြုရန်လိုအပ်သည်။ ဆိုလိုသည်မှာ client သည် authentication ကိုကျော်လွန်ပြီးနောက်ဆက်တွဲစစ်ဆင်ရေးများပြုလုပ်ရန်ခွင့်ပြုချက်ရှိသည်။ ရွေးချယ်ရန်ကွဲပြားခြားနားသော binding နည်းလမ်းများအများအပြားရှိပါတယ်။
LDAP ဆာဗာနှင့်ချိတ်ဆက်ရန်အမည်မသိ binding ကိုသင်အသုံးပြုနိုင်သည်။
ldap_bind ($ ldapconn);
Username နှင့် Password ကိုအသုံးပြုပြီး LDAP ဆာဗာကိုဆက်သွယ်ပါ။
$ ldapuser = 'username'; $ ldappass = 'password'; ldap_bind ($ LDAPCONON, $ LDAPUSER, $ LDAPPAST);
LDAP ဆာဗာတစ်ခုကိုချိတ်ဆက်ပြီးချည်နှောင်ပြီးတဲ့နောက် directory 0 န်ဆောင်မှုအတွက် entries တွေကိုရှာဖွေဖို့ LDap_search () function ကိုသုံးနိုင်တယ်။ ရှာဖွေရေးစစ်ဆင်ရေးသည် Search နှင့် Search စံနှုန်းများ၏အခြေစိုက်စခန်း node (BACE DN) ကိုသတ်မှတ်ရန်လိုအပ်သည်။ နမူနာကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
$ searchbasedn = 'ou = လူတွေ, DC = ဥပမာ, DC = COM = $ searchfileter = '(CN = ဂျွန် Doe)' '; $ searingResult = ldap_search ($ ldapconn, $ searchbasedn, $ searchfilter);
အမှန်တကယ် application တွင်သင် $ searchbasedn နှင့် $ searchfileter ကိုသင့်လျော်သောတန်ဖိုးများသို့ပြောင်းလဲရန်လိုအပ်သည်။
ရှာဖွေမှုရလဒ်မှာ LDAP_GEget_entries () function ကို အသုံးပြု. ဖတ်နိုင်သောခင်းကျင်းမှုကိုပြောင်းလဲရန်လိုအပ်သည့် LDAP ရှာဖွေမှုရလဒ်ဖြစ်သည်။ နမူနာကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
$ searingentries = ldap_get_entries ($ ldapconn, $ searchresult);
Directory Service Data ကိုရှာဖွေပြီးနောက်သက်ဆိုင်ရာကွင်းဆင်းတန်ဖိုးကိုလိုအပ်သလိုရယူနိုင်သည်။ ယေဘုယျအားဖြင့်သင်သည်တိကျသောလယ်ကွင်း၏တန်ဖိုးကိုရရှိရန် LDap_get_values () function ကိုသုံးနိုင်သည်။ ဥပမာကုဒ်မှာအောက်ပါအတိုင်းဖြစ်သည် -
$ name = ldap_get_values ($ LDAPCONNONNON, $ followenties [0], 'DisplayName');
$ Searchentiries [0] ကိုပြောင်းလဲရန်လိုအပ်သည့်အတွက်အမှန်တကယ်ရှာဖွေမှုရလဒ်ကို levice item အညွှန်းကိန်းနှင့် 'DisplayName' သို့သင်လိုအပ်သည့်နယ်ပယ်အမည်သို့ပြောင်းရန်လိုအပ်သည်။
စစ်ဆင်ရေးအားလုံးပြီးဆုံးသွားသောအခါ LDAP ဆာဗာနှင့်ချိတ်ဆက်မှုကိုပိတ်ထားသင့်သည်။ ဆက်သွယ်မှုကိုပိတ်ရန် LDAP_CLOSE () function ကိုသုံးပါ။ ဥပမာကုဒ်မှာအောက်ပါအတိုင်းဖြစ်သည် -
LDAP_CLOSE ($ LDAPCONNO);
LDAP protocol ကို အခြေခံ. directory 0 န်ဆောင်မှုပေးရေးဆက်သွယ်ရေးကိုအကောင်အထည်ဖော်ရန် PPP ကိုမည်သို့အသုံးပြုရမည်ကိုဤဆောင်းပါးကဖော်ပြသည်။ Target LDAP ဆာဗာကို LDAP_Connect () function မှတဆင့်ချိတ်ဆက်ပါ။ LDAP_SEARERCECECT_ENT_ENTERRENTERS () function မှရှာဖွေမှုရလဒ်များမှရှာဖွေမှုရလဒ်များကိုရှာဖွေပါ။ နောက်ဆုံးတွင်ဆက်သွယ်မှုကိုပိတ်ရန် LDAP_CLOSE () function ကိုသုံးပါ။ ဤဆောင်းပါးတွင်နမူနာကုဒ်သည်စာဖတ်သူများအား PHP ကို အသုံးပြု. LDAP လမ်းညွှန် 0 န်ဆောင်မှုများကိုမည်သို့လုပ်ကိုင်ရမည်ကိုနားလည်ရန်ကူညီသည်။