Access Control သည်ခွင့်ပြုထားသောအသုံးပြုသူများသာစနစ်အရင်းအမြစ်များကိုရယူနိုင်ရန်အတွက်အရေးကြီးသောလုံခြုံရေးအစီအမံတစ်ခုဖြစ်သည်။ PHP တွင် Access Control ကိုအကောင်အထည်ဖော်ရန်နည်းလမ်းများစွာရှိသည်။ ဤဆောင်းပါးသည်အခန်းကဏ် based access control (rbac) နှင့် attribute-based Access control (ARBAC) နှင့် attribute-based control (abac) ကိုအာရုံစိုက်မည်။
RBAC (အခန်းကဏ် based access ကိုထိန်းချုပ်မှု) သည်အခန်းကဏ် through မှတစ်ဆင့်ခွင့်ပြုချက်များကိုသတ်မှတ်ပေးသည်။ အခန်းကဏ် roles များကိုတာ 0 န် 0 တ္တရားများ, ဌာနများသို့မဟုတ်အခြားသတ်မှတ်ချက်များနှင့်အခြားသတ်မှတ်ချက်များနှင့်အခြားသတ်မှတ်ချက်များအပေါ် မူတည်. အသုံးပြုသူခွင့်ပြုချက်များအပေါ် မူတည်. ၎င်းတို့၏ပါ 0 င်သောအခန်းကဏ် on ပေါ် မူတည်. သတ်မှတ်နိုင်သည်။ RBAC ကိုအကောင်အထည်ဖော်ရန်သင်သည်အသုံးပြုသူများ, အခန်းကဏ် and များနှင့်ခွင့်ပြုချက်များကို ဦး စွာသတ်မှတ်ရန်လိုအပ်သည် -
use RoleBasedControl as RBC; $user = new User(); $user->setUsername('admin'); $role = new Role(); $role->setName('manager'); $permission = new Permission(); $permission->setPermission('manage_users'); $rbac = new RBC(); $rbac->assignUserToRole($user, $role); $rbac->assignPermissionToRole($permission, $role); if ($rbac->hasAccess($user, $permission)) { // ဝင်ရောက်ခွင့်ပြုပါ } else { // ဝင်ရောက်ချိတ်ဆက်ရန်ငြင်းဆိုခြင်းAbac (Attribute-based access control) သည်အသုံးပြုသူဂုဏ်ရည်များမှတစ်ဆင့်ခွင့်ပြုချက်များကိုသတ်မှတ်ပေးသည်။ ဤဂုဏ်ရည်တော်များသည်အသက်အာမခံ, တည်နေရာ, အဖွဲ့အစည်း 0 င်များစသဖြင့် အသုံးပြု. abac ကိုအကောင်အထည်ဖော်ရန်အတွက်အသုံးပြုသူများနှင့်အရင်းအမြစ်များကိုပထမ ဦး စွာသတ်မှတ်ရန်နှင့် Access plush ကိုသတ်မှတ်ရန်လိုအပ်သည်။
use AttributeBasedControl as ABC; $user = new User(); $user->setAttribute('age', 25); $user->setAttribute('location', 'USA'); $resource = new Resource(); $resource->setAttribute('sensitivity', 'high'); $policy = new Policy(); $policy->setAttribute('age', '>= 21'); $policy->setAttribute('location', 'USA'); $policy->setPermission('read'); $abc = new ABC(); $abc->addPolicy($policy); if ($abc->hasAccess($user, $resource)) { // ဝင်ရောက်ခွင့်ပြုပါ } else { // ဝင်ရောက်ချိတ်ဆက်ရန်ငြင်းဆိုခြင်းကျွန်ုပ်တို့သည် E-commerce ဝက်ဘ်ဆိုက်ကိုတီထွင်နေကြောင်းအုပ်ချုပ်ရေးမှူးများသာလျှင် admin dashboard ကိုဝင်ရောက်နိုင်သည့် e-commerce ဝက်ဘ်ဆိုက်ကိုတီထွင်နေကြသည်ဆိုပါစို့။ ဤလုပ်ဆောင်မှုကိုအကောင်အထည်ဖော်ရန် RBAC ကိုသုံးနိုင်သည်။
$user = $_SESSION['user']; if ($user->hasRole('admin')) { // စီမံခန့်ခွဲမှု dashboard ကိုပြပါ } else { // ပင်မစာမျက်နှာသို့ပြန်သွားပါAccess Control ပေါ်လစီများကိုတိကျစွာအကောင်အထည်ဖော်ခြင်းအားဖြင့်သင်သည်သင်၏ 0 က်ဘ်အပလီကေးရှင်းများ၏လုံခြုံရေးကိုသိသိသာသာတိုးတက်စေပြီးခွင့်ပြုချက်မရှိဘဲဝင်ရောက်ခြင်းကိုတားဆီးနိုင်သည်။ ၎င်းသည် RBAC သို့မဟုတ် Abac ဖြစ်စေ, ၎င်းသည်ကွဲပြားခြားနားသောလုံခြုံရေးလိုအပ်ချက်များအတွက်ထိရောက်သောဖြေရှင်းနည်းများကိုပေးနိုင်သည်။