![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 18 Dołączył: 23.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Zwracam się do Was z prośbą o porady. Planuję stworzyć portal, ma być dość rozbudowany. Zastanawiałem się jak stworzyć listę ACL, czytałem nieco w sieci na ten temat, ostatecznie skrobnąłem taki kawałek kodu:
Jest to funkcja zawarta w klasie, jako parametr przekazuję $_SESSION['group_id'], które przypisuję sobie podczas logowania. Po wykonaniu takiego skryptu w tablicy mam zawarte wszystkie uprawnienia dla grupy. W tabeli to wygląda mniej więcej tak: grupa | NA | WW | EA | =============================== Administratorzy | 1 | 1 | 1 | -------------------------------------------------------- Moderatorzy | 1 | 0 | 1 | -------------------------------------------------------- Użyszkodnicy | 0 | 0 | 0 | =============================== Jak widać, nagłówki odpowiadają za poszczególne prawa. 1 logiczna ma dostęp, 0 nie ma. Przypuśćmy że chciałbym dla użytkowników ustalać menu:
Moje pytanie jest takie. Zakładając (przy najlepszych wiatrach), że będę miał w bazie wielu użytkowników (liczmy kilkanaście tysięcy), czy to BĘDZIE WYDAJNE ? Nie wiem jak inaczej można byłoby to rozwiązać, to rozwiązanie wydaje mi się całkiem sensowne, ale proszę o poradę bardziej doświadczonych użytkowników. Pozdrawiam. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
A to skąd pobierzesz $role, to nie ma znaczenia (IMG:style_emoticons/default/wink.gif) Po prostu umieść je w bazie jako kolejne rekordy w odpowiedniej tableli, bo może być ich klika, lub bardzo dużo. Rola użytkownika to tak jak piszesz, może być obok loginu, w końcu ona mało kiedy się zmienia i zazwyczaj jest pobierana przy logowaniu w sesję. Cytat Właśnie, Ty tutaj mówisz o tym, że moje identyfikatory dostępów nie są jasne. Jak to wykonać ? Rozpracuj pierw ten kod na "plikach" tak jak tam jest, pomyśl nad tym jak on działa (wywal to z Zend, chodzi o same moduły i nazwy metod) Cytat Poza tym w artykule też jest to rozegrane na IF'ach, tylko w nieco inny sposób niż u mnie Tylko że u Ciebie jest albo 0 albo 1 i to ogranicza działanie o którym wspomniałem. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 01:30 |