Ja się kłócić nie będę

Cytat
część ukryta strony powinna być dostępna dla wielu grup
W moim przykładzie część ukryta strony jak najbardziej też może być dostępna dla wielu grup - wystarczy im dopisać każdej grupie dostęp do danej strony

Cytat
Myślę, że moje rozwiązanie jest lepsze i szybsze w definiowaniu dostępu do danej części strony.
To załóżmy taki przykład
Mamy 10 stron (nie tyle stron co modułów - na przykład newsy, panel admina, itd...)
U mnie przy każdej ze stron piszę coś takiego na początki jedynie:
if(!in_array('nazwa_strony',$privileges[$_SESSION['group_id']])) die('ACCESS DENIED');
Czyli pisze że jeśli dana strona nie jest zapisana w uprawnieniach grupy to wyrzucam tekst "ACCESS DENIED";
Tak samo jak Ty mam wszystkie uprawnienia spisane na początku.
Teraz twój kod:
if(!in_array($wymaganaGrupa,$grupaUsera)) die('ACCESS DENIED');
Robię tak że sprawdzam czy w liście grup usera jest grupa, która jest wymagana aby mieć dostęp.
I teraz - wyobraźmy sobie że dodaję nową grupę

Która ma mieć dostep do danej strony.
U mnie - dodaje tylko i wyłącznie nową grupę na początku skryptu i wpisuje w niej uprawnienie do żądanej strony.
U Ciebie - dodajesz nową grupę, musisz odnaleźć daną stronę/moduł i w nim dodać uprawnienie że tak grupa też może oglądać zawartość.
Wydaje mi się jednak że moja (a tak naprawdę wcale nie moja) metoda jest jednak lepsza i o wiele bardziej skalowalna
Jeśli chciałbyś swoją metodę przerobić tak by wszystkie uprawnienia co do stron były zapisywane na początku tak jak u mnie dokładnie to tak jak masz u mnie:
'user' => array(1,2,3,4,5,6), 'admin' => array(1,2,3,4,5,6,7,8,9), )
(gdzie 1-9 to moduły/strony)
to u Ciebie by to wyglądało tak:
1
=> array('user','admin'), 2
=> array('user','admin'), 3
=> array('user','admin'), 4
=> array('user','admin'), 5
=> array('user','admin'), 6
=> array('user','admin'),)
Oczywiście też tak można - ale mi osobiście bardziej podoba się metoda gdzie do grupy jest przypisany moduł bop u Ciebie trzeba wymienić wszystkie możliwe moduły jakie są - a modułów naogół jest więcej od grup (w dużych aplikacjach ze skomplikowanymi uprawnieniami).