Ok, izstāstīšu vienkāršu sistēmu:
Piešķiram katram lietotājam veselu skaitli:
0 - no access (lietotājam nav tiesību pat apskatīt informāciju)
10 - read only (lietotājam ir tiesības tikai apskatīt)
20 - post (lietotājam ir tiesības pievienot un apskatīt)
30 - moderate (lietotājam ir tiesības arī dzēst/mainīt citu pievienoto informāciju)
40 - administer (lietotājam ir tiesības modificēt (radīt/mainīt/dzēst) citu lietotāju kontus un mainīt arī šo skaitli)
Ja lietotājam nav defināets šis skaitlis, tātad uzskatīt, ka tas ir 0.
Tālāk, katrai darbībai, ko var veikt lapā piešķir nepieciešamo pilnvaru līmeni: Teiksim, lai atvērtu login lapu, līmenim ir jābūt vismaz 0.
Lai varētu apskatīties pēdējo ierakstīto informāciju, jābūt vismaz līmenim 20. Respektīvi veicot kādu darbību, ir jāpārliecinās, vai lietotāja, kas taisās to veikt skaitlis ir lielāks vai vienāds par šai funkcijai definēto minimālo piekļuves skaitli.
function lasit(){
define('access_level',10);
if(lietotaja_limenis() < access_level){
//tātad lietotājam nav pietiekamas tiesības
echo('Piekļuve liegta');
}
else {
//tātad lietotājam ir pietiekamas tiesības
Te ir kods, kas dabū pēdējos ierakstus
}
}
Apmēram tā.
Atstarpes starp 0 - 10 - 20 - 30 - 40 var noderēt, jo dažreiz pēkšņi savajagās kādam piešķirt kaut ko pa vidu...
Kā jau teicu - šī ir ļoti vienkārša sistēma, kas ir vienkāršots Lattice-based access control izpildījums.