နိဒါန်း
အင်တာနက်ဖွံ့ဖြိုးတိုးတက်မှုနှင့်အတူဝက်ဘ်ဆိုက်လုံခြုံရေးသည်မရှိမဖြစ်လိုအပ်သောအကာအကွယ်များထဲမှတစ်ခုဖြစ်လာသည်။ ဤဆောင်းပါးသည် CMS စနစ်များ၏လက်လှမ်းမီမှုဆိုင်ရာလုပ်ငန်းများကိုဖြည့်ဆည်းပေးရန်နှင့်သက်ဆိုင်ရာကုဒ်များဥပမာများကိုဖြည့်ဆည်းရန် Python ကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
ကန့်သတ်ချက်အင်္ဂါရပ်များရယူရန်နိဒါန်း
Access ကိုကန့်သတ်ထားသည့်လုပ်ဆောင်မှုသည်အဓိကအားဖြင့်ခွင့်ပြုချက်ဆက်တင်များဖြင့်သက်ဆိုင်သောအကြောင်းအရာသို့မဟုတ်လုပ်ဆောင်ချက်များကိုအသုံးပြုသူများကိုအသုံးပြုခွင့်ကိုထိန်းချုပ်သည်။ CMS စနစ်များအတွက်၎င်းသည်အထိခိုက်မခံသောသတင်းအချက်အလက်များကိုကာကွယ်ပေးရုံသာမကတရားမ 0 င် 0 င်ခွင့်ကိုကာကွယ်ပေးသည်။ ထို့ကြောင့်စနစ်၏လုံခြုံရေးကိုကာကွယ်ပေးသည်။
Access ကန့်သတ်ချက်ကိုအကောင်အထည်ဖော်ရန်အတွက်အကြံဥာဏ်များ
Access ကိုကန့်သတ်ချက်များကိုများသောအားဖြင့်အသုံးပြုသူ authentication နှင့်ခွင့်ပြုချက်စီမံခန့်ခွဲမှုမှတဆင့်လုပ်ဆောင်သည်။ System System ကိုရယူရန်တောင်းဆိုသည့်အခါ၎င်းသည်မည်သူမည်ဝါဖြစ်ကြောင်းသက်သေပြသည့်အခါအသုံးပြုသူသည်မည်သူမည်ဝါဖြစ်ကြောင်းအတည်ပြုသည်, ၎င်းသည်သက်ဆိုင်ရာခွင့်ပြုချက်ရှိမရှိဆုံးဖြတ်သည်။ ခွင့်ပြုချက်မလုံလောက်ပါကလက်လှမ်းမီမှုကိုငြင်းပယ်လိမ့်မည်။
Code Page
အသုံးပြုသူစစ်မှန်ကြောင်းအထောက်အထား
Python တွင်ရေဘူးမူဘောင်ကိုအသုံးပြုပြီးအသုံးပြုသူ authentication ကိုလွယ်ကူချောမွေ့စေနိုင်သည်။ အောက်ပါကုဒ်သည်အသုံးပြုသူအမည်နှင့်စကားဝှက်အပေါ် အခြေခံ. အတည်ပြုရန်မည်သို့အတည်ပြုရမည်ကိုပြသသည်။
ဘူးသီးမှဘူးသီးတင်သွင်းခြင်း,
App = ဘူး (__ အမည် __)
# အသုံးပြုသူဒေတာဘေ့စ်, Username နှင့် Password အသုံးပြုသူများ = {
"admin": "Password123":
"User": "Password4566"
}
# login လမ်းကြောင်း @ app.route ("/ login", နည်းလမ်းများ = ["POST" ["POST"])
def login ():
ဒေတာ = တောင်းဆိုမှု etion.get_json ()
Username = ဒေတာ ["Username"]
စကားဝှက် = ဒေတာ ["စကားဝှက်"]
# အသုံးပြုသူအမည်နှင့်အသုံးပြုသူအမည်ကိုအသုံးပြုသူအမည်နှင့်အသုံးပြုသူအမည် == password ကိုအသုံးပြုသူအမည်နှင့်စကားဝှက်နှင့်ကိုက်ညီကြောင်းစစ်ဆေးပါ။
တုံ့ပြန်မှုတုံ့ပြန်မှု (status = 200)
အခြား:
Reward Response (status = 401)
ခွင့်ပြုချက်ထိန်းချုပ်မှု
ခွင့်ပြုချက်ထိန်းချုပ်မှုကို Python အလှဆင်သူမှတဆင့်အကောင်အထည်ဖော်နိုင်သည်။ ဥပမာများမှာအောက်ပါအတိုင်းဖြစ်သည် -
Functools တင်သွင်းမှုထုပ်မှ
ဘူးတင်သွင်းမှုဖျက်သိမ်းခြင်းမှတောင်းဆိုမှု
Def လိုအပ်ချက်များ (ခွင့်ပြုချက်):
Def အလှဆင် (Func):
@wraps (Func)
Def Wrapper (* args, ** kgargs):
# အသုံးပြုသူခွင့်ပြုချက်ကိုရယူပါ။ user_permission = Get_User_permission (Take.cookies.get ("တိုကင်")
# user_permission <၏ခွင့်ပြုချက်ကိုခွင့်ပြုချက်သည်လိုအပ်ချက်များနှင့်ကိုက်ညီမှုရှိမရှိဆုံးဖြတ်ပါ။
abort (403)
# မူရင်း function ကိုပြန်ပို့ပါ။ (* args, ** kwargs)
Reader Reader
ပြန်လည်ပတ် decorator ပြန်လာ
# အခွင့်အာဏာရှိသောထိန်းချုပ်ထားသောလမ်းကြောင်းဥပမာ @ App.Route ("/ admin", နည်းလမ်းများ = ["Get"])
@requirees_permission (2) # 2 သည်အုပ်ချုပ်ရေးဆိုင်ရာခွင့်ပြုချက်ကိုကိုယ်စားပြုသည် DEF admin ()
ပြန်လာ "ကြိုဆိုပါတယ်,
အထက်ပါကုဒ်သည်အသုံးပြုသူခွင့်ပြုချက်များကိုအလှဆင်သူမှတစ်ဆင့်တရားစီရင်သည်။ ခွင့်ပြုချက်မလုံလောက်ပါကခွင့်ပြုချက်ကိုဖြည့်ဆည်းပေးသူများကိုသာအသုံးပြုသူများသာသက်ဆိုင်ရာအရင်းအမြစ်များကိုရယူနိုင်ရန်အတွက်အမှားများကို 403 သို့ပြန်သွားလိမ့်မည်။
အကျဉ်းချုပ်
ဤဆောင်းပါးသည် CMS စနစ်များတွင်ဝင်ရောက်ခွင့်ကိုအကောင်အထည်ဖော်ရန် Python နှင့် Flask မူဘောင်များကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးသည်။ အသုံးပြုသူစစ်မှန်ကြောင်းအတည်ပြုခြင်းနှင့်ခွင့်ပြုချက်ထိန်းချုပ်မှုမှတဆင့်အသုံးပြုသူများသည် System Contents နှင့်လုပ်ဆောင်ချက်များကိုထိရောက်စွာစီမံခန့်ခွဲနိုင်သည်။ အဲဒါကသင့်ကိုကူညီလိမ့်မယ်လို့မျှော်လင့်ပါတယ်