පරිශීලක (User) සහ කාර්යභාර (Role) කළමනාකරණය
පද්ධතියේ පරිශීලකයින් ආරක්ෂිතව කළමනාකරණය කිරීම සඳහා පරිපාලක-පමණි (admin-only) අතුරුමුහුණතක් නිර්මාණය කිරීම. පරිශීලකයින් එකතු කිරීම, සංස්කරණය කිරීම, ඉවත් කිරීම සහ ඔවුන්ට 'admin' හෝ 'cashier' ලෙස කාර්යභාර පැවරීම මෙයට ඇතුළත් වේ.
Role-Based Access Control (RBAC) යනු පද්ධතියක ආරක්ෂාව තහවුරු කරන ප්රධාන ක්රමවේදයකි. මෙහිදී, සෑම පරිශීලකයෙකුටම කාර්යභාරයක් (role) පවරනු ලබන අතර, එම කාර්යභාරය මත පදනම්ව ඔහුට හෝ ඇයට ප්රවේශ විය හැකි පිටු සහ ක්රියාකාරකම් තීරණය වේ.
අපගේ පද්ධතියේ ප්රධාන කාර්යභාර දෙකකි:
පරිශීලකයෙක් ලොග් වූ විට, ඔහුගේ කාර්යභාරය (`role`) අපි සෙෂන් විචල්යයක (`$_SESSION['role']`) ගබඩා කළෙමු. දැන්, පරිපාලක සඳහා පමණක් වන සෑම පිටුවකම (උදා: `products.php`, `reports.php`, `inventory.php`) ආරම්භයේදීම මෙම සෙෂන් විචල්යය පරීක්ෂා කළ යුතුය.
මෙම PHP කේතය admin-only පිටුවල ඉහළින්ම යොදන්න.
මෙම කාර්යයේදී, පරිශීලකයින් සඳහා සම්පූර්ණ CRUD ක්රියාවලියක් සහිත පිටුවක් නිර්මාණය කර, අප විසින් සකස් කළ ආරක්ෂක ක්රමවේදය පරීක්ෂා කර බලමු.
පියවර 1: `users.php` ගොනුව නිර්මාණය කිරීම
මෙය පරිපාලක සඳහා පමණක් වන පිටුවකි. මෙහිදී නව පරිශීලකයින් එකතු කිරීමට ෆෝරමයක් සහ පවතින පරිශීලකයින්ගේ ලැයිස්තුවක් පෙන්වයි.
පියවර 2: කාර්යභාර සීමා කිරීම් පරීක්ෂා කිරීම
ඔබ ඉහත ආරක්ෂක කේතය නිවැරදිව යොදා ඇත්නම්, ඔබට "Access Denied" පණිවිඩය දිස්විය යුතුය, නැතහොත් ඔබව වෙනත් පිටුවකට යොමු කළ යුතුය. Cashier ගිණුමෙන් `pos.php` වෙත සාර්ථකව පිවිසිය හැකි දැයි තහවුරු කරගන්න. එසේ නම්, ඔබ මෙම මොඩියුලය සාර්ථකව නිම කර ඇත!