Jump to content
php.lv forumi

Formula atļauju sistēmai


Lynx

Recommended Posts

Līdz šim projektos, kur vajadzēja specifiskas atļaujas noteiktiem lietotājiem, lai piekļūtu administratīvām darbībām, es izmantoju sistēmu, kur katrai atļaujai ir savs lauks atļauju tabulā šādi: zinas-enum(0,1), lietotajie-enum(0,1) etc. Ļoti sarežģīti uzturēt, ja jāuztaisa jauna sadaļa.

 

Pirms kāda laika pētīju php error_reporting() un ieraudzīju šādu ģeniāli vienkāršu sistēmu(nosaukums nebija minēts, tieši tapēc problēma, jo nevaru atrast materialus google), kur mēs saglabājam tikai vienu int vērtību lietotājam, kas ir summa no katras kategorijas skaitļa attiecīgi:

 

zinas => 1

lietotaji => 2

komentari=>4

 

Ja vēlamies, lai lietotājs var piekļūt tikai ziņām un komentāriem summa ir 5. Izveidot saskaitīšanu nav problēmu.

 

Galvenā problēma ir tā, ka pašlaik es nevaru izdomāt pareizo formulu, kā izvadīt atļaujas, jo visos meiģinājumos kaut kas nebija precīzi un kods izvadīja arī kategorijas, kurām nav pieejas, vai neizvadīja vajadzīgo.

Link to comment
Share on other sites

es jau forumā postēju `opciju saglabāšanu`..

 

Koroč:

 

$permsArr = Array(
 1 => 'Users',
 2 => 'SysConfig',
 4 => 'News',
 ....
);

foreach (.. $permID => $permName)
{
echo $permName . (($permID & $userPerms) ? '- OK' : '- No Access';
}

Edited by Delfins
Link to comment
Share on other sites

Nja.. te nu redzams, ka programmēšana nav sākusies no paskāla/C, bet uzreiz skriptu valodā programmēts. Zemā līmenī cilvēki atradinājušies domāt - bitos un baitos, and, xor, or, not, ... Tur pat nav funkcijas jāzin, ar prastiem operatoriem pietiek: &, ^, |, ~, <<, >>.

Link to comment
Share on other sites

  • 1 year later...
×
×
  • Create New...