Ik ben bezig een beheerfunctie te maken voor een site die grote aantallen gebruikers zal krijgen. Beheerders zullen in staat zijn om alle mogelijke gegevens die op de site gebruikt worden te wijzigen, inclusief tegoeden (geld dus) die gebruiker hebben. Het behoeft geen uitleg dat deze beheerfunctie optimaal beveiligd moet zijn en dat er geen enkele mogelijkheid moet zijn waarop personen die geen beheerder zijn toch toegang krijgen tot de beheeropties.
Zelf had ik gedacht om in de gebruikerstabel in Mysql simpelweg een apart soort gebruiker aan te maken die een code krijgen in een veld gebruikerstype die afwijkt van normale gebruikers. Vervolgens zouden beheerders dan op dezelfde manier inloggen als "normale gebruikers". Bij het inloggen wordt dan bekeken van welk type de gebruiker is en wordt dit type in een sessievariabele gezet.
Hierna wordt bij het openen van de verschillende pagina's van de website steeds naar deze sessievariabele gekeken om te bepalen of alleen de reguliere functies getoond moeten worden of dat ook de beheerfuncties getoond moeten worden.
Nu vraag ik me af of bovenstaande oplossing een goede is? Komt dit in de buurt bij wat gebruikelijk is? Of zijn er wellicht andere, (betere en veiligere) manieren om een beheerfunctie te implementeren?
Zelf had ik gedacht om in de gebruikerstabel in Mysql simpelweg een apart soort gebruiker aan te maken die een code krijgen in een veld gebruikerstype die afwijkt van normale gebruikers. Vervolgens zouden beheerders dan op dezelfde manier inloggen als "normale gebruikers". Bij het inloggen wordt dan bekeken van welk type de gebruiker is en wordt dit type in een sessievariabele gezet.
Hierna wordt bij het openen van de verschillende pagina's van de website steeds naar deze sessievariabele gekeken om te bepalen of alleen de reguliere functies getoond moeten worden of dat ook de beheerfuncties getoond moeten worden.
Nu vraag ik me af of bovenstaande oplossing een goede is? Komt dit in de buurt bij wat gebruikelijk is? Of zijn er wellicht andere, (betere en veiligere) manieren om een beheerfunctie te implementeren?