![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Wymyśliłem system na typy użytkowników i grupy dostępowe do swojego CMS'a. Zanim to wdrożę chciałbym poznać jakieś opinie na ten temat.
Jeśli mój pomysł jest niejasny to jeszcze kilka słów wyjaśnienia: -- użytkownik loguje sie i w sesji trzymane jest jego ID z tabeli 1 -- każdy element strony ma swój numer trubu dostępowego z tabeli 2 (np. Artykuł: 'fiołki i motylki' ma numer 3. -- Jeśli zalogowany użytkownik próbuje się dostać do artykułu 'fiołki i motylki' system ładuje z bazy 3 rzad i sprawdza czy user moze przeczytac ten artykuł. Wiem, że było to juz opisywane ale zależy mi na możliwie najrostszym rozwiązaniu a ten wydaje się takim być. Proszę o wskazanie ewentualnych wad tego mechanizmu. -------------------- http://www.berry.nazwa.pl/edico/public_html/index.php ----> under construction
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 222 Pomógł: 35 Dołączył: 6.02.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ja bym zrobił tak że artykuł ma tryb dostępu opisany unikalnie za pomocą potęgi cyfry 2. W grupach do których należy użytkownik lub w samych użytkownikach, dostęp do artykułów opisał binarnie za pomocą sumy trybów dostępu artykułów. Potem tylko proste sprawdzenie bitowe AND i już wiesz który użytkownik do którego artykułu ma mieć dostęp
![]() -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Mógłbyś napisać coś więcej? Robiłeś już tak kiedyś? Czy da się dzięki temu rozwiązaniu zrobić warunek 'wszystkie konta których id > 12, mniejsze od 15 lub konta o id = 5' ?
-------------------- http://www.berry.nazwa.pl/edico/public_html/index.php ----> under construction
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 222 Pomógł: 35 Dołączył: 6.02.2005 Ostrzeżenie: (0%) ![]() ![]() |
Jak będę miał chwilkę to napiszę coś dla przykładu.
To tak na szybko masz przykład:
Możesz do tego dołożyć grupy dostępu. Wtedy grupom przypisujesz podobne maski jak userom. Jeżeli będziesz chciał połączyć uprawnienia usera z grupą to wykonujesz operację OR na wartościach obu i dopiero wtedy AND z otrzymanej wartości z dostępem do dokumentu. Miłego kombinowania ![]() -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 23.06.2025 - 09:23 |