Lynx Posted September 26, 2006 Report Share Posted September 26, 2006 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 More sharing options...
Delfins Posted September 26, 2006 Report Share Posted September 26, 2006 (edited) 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 September 26, 2006 by Delfins Link to comment Share on other sites More sharing options...
Grey_Wolf Posted September 26, 2006 Report Share Posted September 26, 2006 zinas => 1lietotaji => 2 komentari=>4 Nepateiksu preciizu nosaukumu bet taas ir baitu operaacijas 1,2,4,8,16,32... Pameklee jaabuut (iebuvetajaam) f-jam() kas tev apstraadasa datus abos virzienos..... Link to comment Share on other sites More sharing options...
Lynx Posted September 26, 2006 Author Report Share Posted September 26, 2006 Wow, sasodīti gudri, Delfins. Es pats šādu nebūtu dabūjis gatavu. Paldies Link to comment Share on other sites More sharing options...
Delfins Posted September 26, 2006 Report Share Posted September 26, 2006 SASODĪTI vienkārši :).. kā jau bit-operācijas :) Link to comment Share on other sites More sharing options...
KAC Posted September 26, 2006 Report Share Posted September 26, 2006 (edited) vari palasiit http://lv.php.net/language.operators.bitwise ko komentaaros ierakstiijis jbrand1 at uwe_emm_bee_see dot edu. plashaak - te Edited September 26, 2006 by KAC Link to comment Share on other sites More sharing options...
Delfins Posted September 26, 2006 Report Share Posted September 26, 2006 nevis interesanti, bet standarta risinājums... Tikai tur viens trūkums - userim var būt tikai viena permīcija (grupa) Link to comment Share on other sites More sharing options...
bubu Posted September 26, 2006 Report Share Posted September 26, 2006 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 More sharing options...
Aleksejs Posted December 4, 2007 Report Share Posted December 4, 2007 Ir arī vairāki citi drošības modeļi: http://en.wikipedia.org/wiki/Category:Comp...security_models Augstāk aprakstītais pēc būtības ir: vienkāršots ACL (tāds pats kādu izmanto unix failu sistēmā). Neviens neliedz izmantot arī kādu citu. ;) Link to comment Share on other sites More sharing options...
Kaitnieks Posted December 4, 2007 Report Share Posted December 4, 2007 Vienīgais no kā jāuzmanās, izmantojot šo sistēmu, ir gadījums ar ļoti daudz sadaļām. Citādi var sanākt kā šeit: http://worsethanfailure.com/Articles/Absur...igh-Values.aspx Link to comment Share on other sites More sharing options...
Recommended Posts