Tak sobie glosno mysle nad sposobem dostepu do poszczegolnych stron. We frameworku znajduje sie klasa ACL. Napisalem rowniez dla 4programmers.net klase auth, ktora rozszerza mozliwosci klasy ACL. Tzn. pobiera z bazy danych informacje o grupach, userach i ich prawach i wstawia do ACL. Wszystko pieknie ladnie, ale meczace jest za kazdym razem sprawdzanie, czy user ma do tego dostep. Mamy np. panel usera, na ktory sklada sie kilka stron (dane, preferencje, CV, portfolio, wiadomosci prywatne). URL'e maja postac User/(id)/(nazwa kontrolera), czyli np. /User/143/Pm (wiadomosci prywatne). Wiemy, ze do tych stron dostep ma miec jedynie user, ktory jest wlascicielem konta. Myslalem nad czyms takim:
$auth = array(
'ucp' => array(
'panel' => 'a_owner',
'pm' => 'a_owner'
),
'acp' => 'a_',
'forum' => array(
'edit' => array(
'poll' => 'f_poll',
'smilies' => 'f_smilies'
)
),
'*' => array(
'topic' => 'a_register'
)
);
Przed wywolaniem faktycznej strony sprawdzane maja byc opcje dostepu. I tak wezmy pod uwage modul panela usera (ucp). Zarowno do kontrolera 'panel' jak i 'pm' dostep ma tylko wlasciciel. Z kolei do kontrolera 'topic' (ktory nie jest czescia zadnego modulu), ma dostep user z prawem a_register. Itd. itp.
Macie jakies sprawdzone, wygodne sposoby? Albo podpatrzone?