Web application များတွင်သုံးစွဲသူခွင့်ပြုချက်ထိန်းချုပ်မှုသည်စနစ်၏လုံခြုံရေးကိုသေချာစေရန်အဓိကအင်္ဂါရပ်တစ်ခုဖြစ်သည်။ ခွင့်ပြုချက်မရှိဘဲဝင်ရောက်ခွင့်ကိုတားဆီးရုံသာမက၎င်းသည်တရားဝင်အသုံးပြုသူများသည်၎င်းတို့လိုအပ်သောခွင့်ပြုချက်များကိုရရှိစေသည်။ PHP Code နမူနာများမှတဆင့်အသုံးပြုသူခွင့်ပြုချက်ထိန်းချုပ်မှုကိုတဖြည်းဖြည်းချင်းသဘောပေါက်ရန်ဤဆောင်းပါးသည်သင့်အားယူပါလိမ့်မည်။
ခွင့်ပြုချက်ထိန်းချုပ်မှုစနစ်မဖော်ဆောင်ခင်အသုံးပြုသူသတင်းအချက်အလက်နှင့်ခွင့်ပြုချက်အချက်အလက်များကိုသိမ်းဆည်းရန်ဒေတာဘေ့စ်တစ်ခုကိုဒီဇိုင်းပြုလုပ်ရန်လိုအပ်သည်။ ပုံမှန်အားဖြင့်သင်သည်အောက်ပါဇယားများကိုဖန်တီးသည်။
1 ။ အသုံးပြုသူဇယား - သုံးစွဲသူရဲ့အခြေခံအချက်အလက်တွေကိုသိုလှောင်ထားပြီး login အထောက်အထားများကိုသိုလှောင်ထားပါတယ်။
2 ။ အခန်းကဏ် table - အသုံးပြုသူအခန်းကဏ် and နှင့်၎င်းတို့၏ဆက်စပ်ခွင့်များကိုသတ်မှတ်ပါ။
3 ။ ခွင့်ပြုချက်ဇယား - စနစ်ပေါ်ရှိရရှိနိုင်သည့်ခွင့်ပြုချက်အားလုံးကိုစာရင်းပြုစုထားသည်။
4 ။ ခွင့်ပြုချက်ကိုခွင့်ပြုချက်ဇယား - အခန်းကဏ် and များနှင့်ခွင့်ပြုချက်များနှင့်ဆက်သွယ်မှုများစွာရှိသောဆက်ဆံရေး။
Table အသုံးပြုသူများကိုဖန်တီးပါ ( ID Int (11) Auto_incrent မူလတန်းသော့, Username Varchar (50) NULL, Password Varchar (255) NURLE မဟုတ်ပါ။ role_id int (11) null မဟုတ် ); စားပွဲအခန်းကဏ် create ကိုဖန်တီးပါ ( ID Int (11) Auto_incrent မူလတန်းသော့, narchar (50) null မဟုတ် ); ဇယားခွင့်ပြုချက်ဖန်တီးပါ ( ID Int (11) Auto_incrent မူလတန်းသော့, NARCHAR (50) NURNCH NATE NURN NUME, အရင်းအမြစ် varchar (50) NULL ); စားပွဲပေါ်မှာ role_permissions ဖန်တီးပါ ( ID Int (11) Auto_incrent မူလတန်းသော့, role_id int (11) null မဟုတ်, Permiss_id int (11) NULL မဟုတ်ပါ );
ခွင့်ပြုချက်ထိန်းချုပ်မှုကိုအကောင်အထည်ဖော်ခြင်းမပြုမီကျွန်ုပ်တို့သည်အခြေခံ login function ကိုအကောင်အထည်ဖော်ရန်လိုအပ်သည်။ အသုံးပြုသူသည်အသုံးပြုသူအမည်နှင့်စကားဝှက်ကိုတင်ပြခြင်းဖြင့်စစ်ဆေးလိမ့်မည်။ စနစ်သည်ဒေတာဘေ့စ်ရှိမှတ်တမ်းများအပေါ် အခြေခံ. အသုံးပြုသူအထောက်အထားများကိုစစ်ဆေးလိမ့်မည်။
Session_Start (); if ($ _server ['ayserver'] == 'post') { $ username = $ _post ['username']; $ စကားဝှက် = $ _post ['password']; // ဒေတာဘေ့စ်နှင့်မေးမြန်းမှုအသုံးပြုသူသတင်းအချက်အလက်ကိုဆက်သွယ်ပါ $ can = MySQLI ('localhost', 'username', 'password', 'database', 'database' ', $ query = "Username = '$ username and password =' $ password 'ကိုသုံးသောအသုံးပြုသူများထံမှ *" Select * Select *; $ ရလဒ် = $ conn-> query ($ query); လျှင် ($ ရလဒ် - num_rows == 1) { $ Row = $ ရလဒ် -> Fetch_assoc (); $ _Session ['user_id'] = $ အတန်း ['ID']; $ _session ['username'] = $ အတန်း ['username']; $ _session ['role_id'] = $ အတန်း ['`` role_id']; header ('တည်နေရာ: Dashboard.php'); ထွက်ပေါက်; } အခြား $ error = "မမှန်ကန်သောသုံးစွဲသူအမည်သို့မဟုတ်စကားဝှက်"; } } အကယ်. (ISSET ($ _ session ['session [' ']))) header ('တည်နေရာ: Dashboard.php'); ထွက်ပေါက်; }
အသုံးပြုသူမှတ်တမ်းများအပြီးသုံးစွဲသူများသည်၎င်းတို့လုပ်ပိုင်ခွင့်ရှိသောအရင်းအမြစ်များကိုသာ 0 င်ရောက်နိုင်ရန်အတွက်အသုံးပြုသူ၏အခန်းကဏ်အပေါ်တွင်မူပိုင်ခွင့်များကိုအတည်ပြုရန်လိုအပ်သည်။ ခွင့်ပြုချက်စစ်ဆေးမှုလုပ်ဆောင်ချက်ကိုရေးခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်အသုံးပြုသူများကိုမှတ်ပုံတင်ထားသောစာမျက်နှာများကိုမဝင်ရောက်နိုင်အောင်ကန့်သတ်နိုင်သည်။
function checkpermission ($ အရင်းအမြစ်) { // အသုံးပြုသူသည် 0 င်ရောက်လျှင် (! is _ _ session ['session [' session])) header ('တည်နေရာ: login.php'); ထွက်ပေါက်; } // အသုံးပြုသူ၏ခွင့်ပြုချက်ကို $ cons = quige quelign = MySQLI ('localhost', 'username', 'password', 'database', 'database', $ query = "Permissions.name ကိုရွေးချယ်ပါ (အခန်းကဏ် r) မှ roles.ID = roles.ID = role_permissions.role_ID တွင် join join jouls_permissions join အတွင်းစိတ် onner role_permissions.permissions.permission_ID = ခွင့်ပြုချက်အပေါ်ခွင့်ပြုချက် ဘယ်မှာ {{$ _session ['_s_id']} နှင့်ခွင့်ပြုချက် ..Resource = '$ အရင်းအမြစ်', $ ရလဒ် = $ conn-> query ($ query); လျှင် ($ ရလဒ် - num_rows == 0) { header ('တည်နေရာ: ခွင့်ပြုချက်မရှိသော။ ); ထွက်ပေါက်; } } စစ်ဆေးမှု ('Dashboard.php');
ဤဆောင်းပါးသည်ဒေတာဘေ့စ်ဒီဇိုင်း, အသုံးပြုသူ login စိစစ်အတည်ပြုခြင်း, သင်၏လိုအပ်ချက်များပေါ် မူတည်. ကွဲပြားသော web application scermarios နှင့်ကိုက်ညီရန်ဤစနစ်ကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်။ ခွင့်ပြုချက်ထိန်းချုပ်မှုသည်စနစ်၏လုံခြုံရေးကိုပိုမိုမြှင့်တင်ပေးရုံသာမကအသုံးပြုသူအတွေ့အကြုံကိုလည်းတိုးတက်စေသည်။ ၎င်းသည် PHP Developer တိုင်းအတွက်မဖြစ်မနေလိုအပ်သည်။