වෙබ් යෙදුම්වල පරිශීලක ප්රවේශය පාලනය කිරීම අත්යවශ්ය කාර්යයක්. රෝල් පදනම් වූ ප්රවේශ පාලනය (RBAC) එයට සුදුසු විසඳුමක්. මේ ලිපියෙන්, PHP සහ MySQL පමණක් භාවිතා කරමින් සරල "පළතුරු" (Flat) RBAC ක්රමයක් ක්රියාත්මක කරන ආකාරය පියවරෙන් පියවර බලමු.
RBAC පළතුරු ආකෘතියේ මූලික සංකල්පය නම්, රෝල් එකක් අංකයක් (ID) එකක් ලෙස නියම කරයි. අංකය කුඩා වීමත් සමඟ අධික අවසර ලැබේ. උදාහරණයක් ලෙස:
- 1 – admin (උපරිම අවසර)
- 2 – subadmin
- 3 – manager
- 4 – employee (අඩුම අවසර)
එබැවින් "admin හෝ එයට ඉහළ රෝල්" පරීක්ෂා කිරීම සඳහා role_id <= 2 වැනි සරල සසඳුමක් පමණක් අවශ්ය වේ.
දත්ත ගොඩනැගීම
මෙම පද්ධතියට අවශ්ය වන්නේ දෙකක් පමණයි: rol සහ user වගු. rol වගුවේ id ක්ෂේත්රය රෝල් අංකය, name ක්ෂේත්රය රෝල් නාමය ගබඩා කරයි. user වගුවේ role_id ක්ෂේත්රය සම්බන්ධිත රෝල් අංකය දක්වයි, එමඟින් පරිශීලකයාගේ අවසර මට්ටම තීරණය වේ.
ඉහත වගු සෑදීම සඳහා schema.sql ගොනුවේ අන්තර්ගතය MySQL console, phpMyAdmin හෝ MySQL Workbench තුළ පිටපත් කර ධාවනය කළ හැක. එවිට rbac_plano නමැති දත්ත ගබඩාව, රෝල් වගුව, පරිශීලක වගුව සහ මූලික රෝල් 4 ක් (admin, subadmin, manager, employee) ස්වයංක්රීයව නිර්මාණය වේ.
ශ්රී ලංකාවට ඇති වැදගත්කම
සිංහල සංවර්ධකයින්ට මෙම සරල උදාහරණය ඉගෙනීමට හොඳ ආරම්භයක්. රෝල් පදනම් වූ ප්රවේශ පාලනය ක්රියාත්මක කිරීමෙන්, ආරක්ෂිත වෙබ් සේවා සැපයීමට හැකි වන අතර, ලොව පුරා ව්යාපාරික පද්ධතිවල භාවිතය වැඩි වෙයි. ශ්රී ලංකාවේ තරුණ සංවර්ධකයින්ට PHP‑MySQL පදනම මත මෙවැනි ක්රමයක් නිර්මාණය කිරීම, ඔවුන්ගේ රැකියා අවස්ථා විහිදුවා දෙයි. එසේම, ස්ථානීය ව්යාපාරිකයන්ට තමන්ගේ අභ්යන්තර පද්ධති වලට පරිශීලක අවසර පාලනයක් සකස් කර, දත්ත රහස්යතා සහ අනුකූලතාවය වර්ධනය කර ගැනීමට උපකාරී වේ.
අවසානයේ, මෙම පදනම භාවිතා කරමින් ඔබට තවත් සංකීර්ණ අවසර මට්ටම්, permission වගුව, API සම්බන්ධතා ආදියක් එක්කර ගත හැකිය. එමඟින් PHP‑MySQL පදනමෙන් පූර්ණ පරිමාණ ආරක්ෂිත යෙදුම් සකස් කිරීමේ මාර්ගය විවෘත වේ.