လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> သန့်စင်သောခွင့်ပြုချက်ထိန်းချုပ်မှုအောင်မြင်ရန် Zend Framework တွင် ACL ကိုအသုံးပြုနည်း

သန့်စင်သောခွင့်ပြုချက်ထိန်းချုပ်မှုအောင်မြင်ရန် Zend Framework တွင် ACL ကိုအသုံးပြုနည်း

M66 2025-06-16

နိဒါန်း

မျက်မှောက်ခေတ် 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 (&#39;user)) ကိုသတ်မှတ်ပါ။ // အသုံးပြုသူအခန်းကဏ် define ကိုသတ်မှတ်ခြင်း // အရင်းအမြစ် $ acl-> addresource (အသစ် Zend_acl_Resource (&#39;အညွှန်းကိန်း)) ကိုသတ်မှတ်ပါ။ // ပင်မစာမျက်နှာအရင်းအမြစ်များ $ acl-> လိပ်စာ (အသစ် zend_acl_resource (&#39;ပရိုဖိုင်း)) ကိုသတ်မှတ်ပါ။ // ကိုယ်ရေးကိုယ်တာအချက်အလက်အရင်းအမြစ် // assign permissions $ ACL-> Allow (&#39;guest ည့်သည်),&#39; အညွှန်းကိန်း &#39;&#39;; // visitors ည့်သည်များသည် Homepage $ acl-> Allow (&#39;User&#39; &#39;,&#39; &#39;အညွှန်းကိန်း&#39;); // အသုံးပြုသူများသည် Home Page $ ACL-> Allow (&#39;User&#39;, &#39;Profile&#39; &#39;, // အသုံးပြုသူများသည်ကိုယ်ရေးကိုယ်တာအချက်အလက်များကိုရယူနိုင်သနည်း။ >

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 () -> အခန်းကဏ်;,
        
        // အသုံးပြုသူသည်လက်ရှိအရင်းအမြစ်ကိုရယူရန်ခွင့်ပြုချက်ရှိ, ခွင့်ပြုချက်ရှိ, မရှိစစ်ဆေးသည်ကိုစစ်ဆေးပါ (အညွှန်းကိန်း &#39;)) {)))
            $ -> _ redirect (&#39;/ အမှား / မခွင့်ပြု&#39;); // ခွင့်ပြုချက်မရှိပါကအမှားစာမျက်နှာသို့ပြန်သွားပါ}
    }
    
    အများပြည်သူ 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 အစိတ်အပိုင်းများကသင့်အားအစွမ်းထက်သောအထောက်အပံ့များပေးနိုင်သည်။