နိဒါန်း
မျက်မှောက်ခေတ် 0 က်ဘ်အပလီကေးရှင်းများတွင်ခွင့်ပြုချက်ထိန်းချုပ်မှုသည်အသုံးပြုသူများအား၎င်းတို့၏ခွင့်ပြုချက်ရယူရန်ခွင့်ပြုချက်မရစေသည့်အရင်းအမြစ်များကို 0 င်ရောက်နိုင်ရန်ခွင့်ပြုချက်မရစေနိုင်သည့်မရှိမဖြစ်လိုအပ်သောလုံခြုံရေးယန္တရားဖြစ်သည်။ PHP framework အနေဖြင့် Zend Framework သည် developer များကောင်းမွန်သောခွင့်ပြုချက်ထိန်းချုပ်မှုကိုရရှိရန် developer များအားလွယ်ကူချောမွေ့စေရန် built-in acl (Access control list) အစိတ်အပိုင်းများကိုထောက်ပံ့ပေးသည်။ ဤဆောင်းပါးသည် Zend Framework တွင်ခွင့်ပြုချက်စီမံခန့်ခွဲမှုအတွက် ACL ကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးပြီး 4 င်း၏အကောင်အထည်ဖော်မှုလုပ်ငန်းစဉ်ကိုကုဒ်နမူနာများမှတဆင့်သရုပ်ပြပါ။
1 ။ နိဒါန်း (Access Control List) ကိုမိတ်ဆက်ပါ
ACL (Access Control List) သည်အခန်းကဏ် several ကိုမတူညီသောအရင်းအမြစ်များနှင့်ကွဲပြားသောအရင်းအမြစ်များကိုမတူညီသောအရင်းအမြစ်များကိုမတူညီသောအရင်းအမြစ်များကိုသတ်မှတ်ရန်ခွင့်ပြုသည့် accl (Access control list) ဆိုသည်။ အခန်းကဏ် personal သည်အသုံးပြုသူများသို့မဟုတ်အသုံးပြုသူအုပ်စုများကိုကိုယ်စားပြုသည်။ အရင်းအမြစ်များမှာ web applications များတွင်စာမျက်နှာများသို့မဟုတ်လုပ်ဆောင်ချက်များဖြစ်သည်။ ACL ၏အခြေခံယုတ္တိဗေဒသည်အသုံးပြုသူသည်အသုံးပြုသူ၏အခန်းကဏ် on အပေါ် အခြေခံ. တိကျသောအရင်းအမြစ်များကိုရယူရန်ခွင့်ပြုချက်ရှိမရှိဆုံးဖြတ်ရန်ဖြစ်သည်။
2 ။ zend framework အတွက် acl configure
1 ။ ACL အခန်းကဏ် and နှင့်အရင်းအမြစ်ကို configure
Zend Framework တွင်အခန်းကဏ် and နှင့်အရင်းအမြစ်များကိုပြင်ဆင်ခြင်းသည်ကမ္ဘာလုံးဆိုင်ရာ ACL အရာဝတ်ထုတစ်ခုကိုဖန်တီးခြင်းအားဖြင့်အခန်းကဏ် and နှင့်အရင်းအမြစ်များကိုဖွဲ့စည်းနိုင်သည်။ ဤတွင်ရိုးရှင်းသောဥပမာကုဒ်တစ်ခုဖြစ်သည်။
<?php
// ဖန်တီးACLကန့်ကွက်
$acl = new Zend_Acl();
// အခန်းကဏ် roles ကိုသတ်မှတ်ပါ
$acl->Addrole (အသစ် zend_acl_role (guest ည့်သည်)); // guest ည့်သည်သည် $ acl-> Addrole (အသစ် zend_acl_role ('user)) ကိုသတ်မှတ်ပါ။ // အသုံးပြုသူအခန်းကဏ် define ကိုသတ်မှတ်ခြင်း // အရင်းအမြစ် $ acl-> addresource (အသစ် Zend_acl_Resource ('အညွှန်းကိန်း)) ကိုသတ်မှတ်ပါ။ // ပင်မစာမျက်နှာအရင်းအမြစ်များ $ acl-> လိပ်စာ (အသစ် zend_acl_resource ('ပရိုဖိုင်း)) ကိုသတ်မှတ်ပါ။ // ကိုယ်ရေးကိုယ်တာအချက်အလက်အရင်းအမြစ် // assign permissions $ ACL-> Allow ('guest ည့်သည်),' အညွှန်းကိန်း ''; // visitors ည့်သည်များသည် Homepage $ acl-> Allow ('User' ',' 'အညွှန်းကိန်း'); // အသုံးပြုသူများသည် Home Page $ ACL-> Allow ('User', 'Profile' ', // အသုံးပြုသူများသည်ကိုယ်ရေးကိုယ်တာအချက်အလက်များကိုရယူနိုင်သနည်း။ >
2 ။ Controller အတွက် ACL ကိုအသုံးပြုပါ
Controller တွင်အသုံးပြုသူ၏ခွင့်ပြုချက်ကိုအတည်ပြုရန် ACL အရာဝတ်ထုကိုကျွန်ုပ်တို့ခေါ်ဆိုနိုင်သည်။ ခွင့်ပြုချက်ကိုအတည်ပြုရန် ACL ကိုအသုံးပြုသောဥပမာ controller ကိုဤတွင်ဖော်ပြထားသည်။
<?php
class IndexController extends Zend_Controller_Action
{
public function init()
{
parent::init();
// လက်ရှိ logged user ၏အခန်းကဏ် get ကိုရယူပါ
$role = Zend_Auth::getInstance()-> Getidentity () -> အခန်းကဏ်;,
// အသုံးပြုသူသည်လက်ရှိအရင်းအမြစ်ကိုရယူရန်ခွင့်ပြုချက်ရှိ, ခွင့်ပြုချက်ရှိ, မရှိစစ်ဆေးသည်ကိုစစ်ဆေးပါ (အညွှန်းကိန်း ')) {)))
$ -> _ redirect ('/ အမှား / မခွင့်ပြု'); // ခွင့်ပြုချက်မရှိပါကအမှားစာမျက်နှာသို့ပြန်သွားပါ}
}
အများပြည်သူ function ကို indexaction ()
{
// Render Homepage View}}
}
>
အထက်ပါကုဒ်တွင် Controller ၏ Ing နည်းလမ်းသည်လက်ရှိ log in 0 င်ရောက်သည့်အသုံးပြုသူ၏အခန်းကဏ် ery ကိုရရှိရန်အသုံးပြုသည်။ အသုံးပြုသူသည်သတ်မှတ်ထားသောအရင်းအမြစ်ကိုရယူရန်ခွင့်ပြုချက်ရှိမရှိကိုအတည်ပြုရန် asallowed နည်းလမ်းကိုအသုံးပြုသည်။ အသုံးပြုသူသည်ခွင့်ပြုချက်မရှိပါကစနစ်သည်၎င်းကိုအမှားစာမျက်နှာသို့ပြန်ပို့လိမ့်မည်။
3 ။ အကျဉ်းချုပ်
Zend Framework မှပေးသော ACL အစိတ်အပိုင်းများကို အသုံးပြု. developer များသည် web application များအတွက်ခွင့်ပြုချက်ထိန်းချုပ်မှုကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်။ အခန်းကဏ်, အရင်းအမြစ်များနှင့်သက်ဆိုင်ရာခွင့်ပြုချက်များကိုပြင်ဆင်ပြီးနောက်အသုံးပြုသူသည်အသုံးပြုသူ၏အခန်းကဏ် on အပေါ် အခြေခံ. အရင်းအမြစ်ကိုရယူနိုင်မရှိမရှိသင်ဆုံးဖြတ်နိုင်သည်။ ဤဆောင်းပါးတွင်တိကျသောသင်္ကေတများဖြင့် Zend Framework ရှိခွင့်ပြုချက်များကိုထိန်းချုပ်ရန် ACLs များကိုမည်သို့ကျင့်သုံးရမည်ကိုပြသသည်။
ခွင့်ပြုချက်စီမံခန့်ခွဲမှုစနစ်ကိုတည်ဆောက်ခြင်းသို့မဟုတ်အထိခိုက်မခံသောစာမျက်နှာများကိုကာကွယ်ခြင်းရှိမရှိ, Zend Framework ၏ ACL အစိတ်အပိုင်းများသည်သင်၏ဝဘ်ဆိုက်များကိုလုံခြုံပြီးယုံကြည်စိတ်ချရကြောင်းသေချာစေရန်အတွက် zend framework ၏ acl အစိတ်အပိုင်းများကသင့်အားအစွမ်းထက်သောအထောက်အပံ့များပေးနိုင်သည်။