LDAP (ပေါ့ပါးသော directory access protocol) သည်ဖြန့်ဖြူးသော directory 0 န်ဆောင်မှုများကိုရယူရန်နှင့်စီမံရန်အသုံးပြုလေ့ရှိသော protocol တစ်ခုဖြစ်သည်။ ၎င်းကိုကုမ္ပဏီ၏ authentication နှင့်ခွင့်ပြုချက်စနစ်များတွင်ကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုသည်။ ဤဆောင်းပါးသည် PHP မှတဆင့် LDAP ဆာဗာနှင့်မည်သို့ဆက်သွယ်ရမည်ကိုမိတ်ဆက်ပေးပြီးအသုံးပြုသူ authentication ကိုလုပ်ဆောင်ရန်မိတ်ဆက်ပေးလိမ့်မည်။
LDAP စစ်ဆင်ရေးအတွက် PHP ကိုအသုံးမပြုခင် LDAP extension ကို install လုပ်ထားကြောင်း ဦး စွာသင်ပထမ ဦး ဆုံးလုပ်ရမည်။ LDAP extension ကို PHP.INI ဖိုင်ကိုတည်းဖြတ်ခြင်းနှင့်အောက်ပါမျဉ်းကိုအချုပ်ထားခြင်းဖြင့်ဖွင့်နိုင်သည်။
extension = ldap
LDAP ဆာဗာနှင့်ဆက်သွယ်မှုတစ်ခုတည်ဆောက်ရန် PHP ၏ LDap_Connect function ကိုသုံးပါ။ အောက်ပါဥပမာသည် LDAP ဆာဗာတစ်ခုနှင့်မည်သို့ချိတ်ဆက်ရမည်ကိုပြသသည်။
$ ldareserver = 'ldap.example.com'; $ ldapport = 389; $ LDAPCONN = LDAP_Connect ($ LDASVER, $ ldapport);
ဤဥပမာတွင် LDAP ဆာဗာလိပ်စာနှင့် port နံပါတ်ကိုသတ်မှတ်ပြီး LDAP_Connect function ကို အသုံးပြု. LDAP ဆက်သွယ်မှုကိုဖန်တီးသည်။
အသုံးပြုသူစစ်မှန်ကြောင်းအတည်ပြုခြင်းမပြုမီ, နောက်ဆက်တွဲစစ်ဆင်ရေးအတွက်လုံလောက်သောခွင့်ပြုချက်များကိုသေချာစေရန်ကျွန်ုပ်တို့သည်ပုဂ္ဂလိကပိုင်အသုံးပြုသူ (LDAP administrator အဖြစ်) မှတစ်ဆင့်ခညျြနှောငျရန်လိုအပ်သည်။ စီမံခန့်ခွဲသူအသုံးပြုသူတစ် ဦး ၏ဥပမာတစ်ခုမှာဤတွင်ဖော်ပြထားသည်။
$ ldapadmin = 'cn = admin, dc = ဥပမာ, $ ldappass = 'adminimperword'; $ ldapbind = ldap_bind ($ LDAPCONNON, $ ldapadmin, $ ldappass);
ဤဥပမာတွင်ကျွန်ုပ်တို့သည် LDAP_BINT function ကို ldap connection သို့ချည်နှောင်ရန် LDAP_BINT function ကိုအသုံးပြုသည်။
ချည်နှောင်ပြီးတဲ့နောက်မှာငါတို့ LDAP_Search function မှတဆင့် LDAP လမ်းညွှန်ထဲမှာတိကျတဲ့အသုံးပြုသူများကိုရှာတွေ့နိုင်သည်။ အောက်ပါကုဒ်ဥပမာသည်သတ်မှတ်ထားသောအသုံးပြုသူအမည်ရှိအသုံးပြုသူတစ် ဦး ကိုမည်သို့ရှာဖွေရမည်ကိုပြသသည်။
$ ldapbasedn = 'DC = ဥပမာ, DC = COM'; $ searchfileter = '(uid = Johndoe)'; $ searingResult = ldap_search ($ ldapconn, $ ldapbasedn, $ searchfilter);
ဤဥပမာသည် UID မှတစ်ဆင့်အသုံးပြုသူတစ် ဦး ကိုရှာဖွေရန်နှင့် LDap_Search function သည်ကိုက်ညီသောရှာဖွေမှုရလဒ်ကိုပြန်ပို့သည်။
အသုံးပြုသူအချက်အလက်များကိုရယူပြီးသည့်နောက်တွင်ကျွန်ုပ်တို့သည်အသုံးပြုသူ၏အသေးစိတ်အချက်အလက်များကို LDAP_GEget_entries function မှတစ်ဆင့်ရယူပြီး၎င်း၏ authentication ကိုသတင်းအချက်အလက်များကိုအတည်ပြုနိုင်သည်။ ဤတွင်ဆက်စပ်သောဥပမာများမှာ -
$ userinfo = ldap_get_entries ($ ldapconn, $ searingResult); အကယ်. ($ userinfo [''] == 1) လျှင် $ userDn = $ userinfo [0] ['DN']; $ Userbind = LDAP_BIND ($ LDAPCONNON, $ userdn, $ password); လျှင် ($ USERBINT) { ECHO "အသိအမှတ်ပြုလက်မှတ်သည်အောင်မြင်သည်။ "; } အခြား ECHO "လက်မှတ်မအောင်မြင်ပါ။ "; } } အခြား ECHO "အသုံးပြုသူမတည်ရှိပါ။ "; }
အထက်ပါကုဒ်များတွင်ရှာဖွေမှုရလဒ်များကို ဦး စွာစစ်ဆေးပြီးအသုံးပြုသူတည်ရှိရန်သေချာစေပြီး LDAP_BIT မှတစ်ဆင့်သူတို့၏စကားဝှက်ကိုအတည်ပြုပါ။
LDAP စစ်ဆင်ရေးပြီးဆုံးပြီးနောက်အရင်းအမြစ်များကိုအခမဲ့အခမဲ့ဆက်သွယ်ရန်ဆက်သွယ်မှုကိုပိတ်ရန်မမေ့ပါနှင့်။ ဆက်သွယ်မှုကိုပိတ်ရန် LDAP_CLOSE function ကိုသင်အသုံးပြုနိုင်သည်။
LDAP_CLOSE ($ LDAPCONNO);
ဤဥပမာတွင် LDAP ဆာဗာနှင့်ချိတ်ဆက်မှုကိုပိတ်ရန် LDAP_CLOSE function ကိုအသုံးပြုသည်။
ဤဆောင်းပါးမှတစ်ဆင့် LDAP ဆာဗာနှင့်အသုံးပြုသူများကို authenticate အသုံးပြုသူများနှင့်ဆက်သွယ်ရန် PHP ကိုမည်သို့အသုံးပြုရမည်ကိုသင်နားလည်သင့်သည်။ ဤဆောင်းပါးသည် LDAP ကိုအသုံးပြုသူ authping ကို install လုပ်ခြင်းမှမိတ်ဆက်ခြင်းကိုမိတ်ဆက်ပေးသည်။
ထိပ်ဖ်ား: လုံခြုံရေးတိုးမြှင့်ရေးအတွက် LDAP ဆက်သွယ်မှုနှင့် authentication အတွက် encryption နည်းလမ်းများ (ထိုကဲ့သို့သော ldaps သို့မဟုတ် starttls) ကိုအသုံးပြုရန်အကြံပြုသည်။