Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Prawa dostępu
Forum PHP.pl > Forum > PHP
decha-design
Witajcie,

Zacząłem pisać CMS'a - znowu i znowu ... nigdy nie mogę sklończyć haha.gif, ale to teraz nie istotne. Najpierw chcę zrobić cały silnik, a dopiero póżniej zacząć robić wszystkie moduły. No i się zaciąłem przy prawach dostępu i chciałbym się was poradzić(?) jak wy to rozwiązaliście w swoich skryptach.

Myślałem nad zastosowaniem grupy dostępu ... coś ala Admini, Moderatorzy, Użytkownicy i każdy miałby inne prawa dostępu. Tylko jak to wykonać? Zrobić w bazie tabelę `groups` i ileś tam pól odpowiedzialnych za moduły z wartościami 1 lub 0? ...

Kolejnym rozwiązaniem jest skorzystanie z 'chmodów' z Linuxa ...

Jestem również otwarty na inne propozycje =).

Pzdr.
kefirek
Co do praw dostępu ja bym to zrobił tak w tabeli users
Dodał kolumnę o nazwie np user_level i miał by ona liczby od 1 do 3
Gdzie 1 to zwykły użytkownik
2 administrator
3 Super administrator itp
decha-design
aleś mi pomógł ... tak mam ... dokladnie to `rank` 1,2,3

ale jak to zastosować w życie w skrypcie?
krowal
Jeśli chcesz to zrobić na naprawdę pro poziomie to zainteresuj się 'ACL' - Access Controll List.
qba_rox
uzyj komponentu zend_acl z zend framework,
najlepsze nadzedzie do acl dla php jak dla mnie, ale niektorzy beda sie klocic, dlatego powtarzam ze dla mnie smile.gif
kefirek
Można zrobić bardzo prosto czyli zdefiniować grupę np. użytkownik, admin, moderator itp.
Robisz stałą czyli np.
I potem warunek prosty if
  1. <?php
  2. $wynik = mysql_query("SELECT * FROM uzytkownicy WHERE haslo=$haslo");
  3. $poziom = mysql_fetch_assoc($wynik);
  4.  
  5. define("uzytkownik", $poziom['user_level'] >= 1);
  6. define("admin", $poziom['user_level'] >= 2);
  7.  
  8. if(admin) { echo 'teskt widoczny dla admina'; }
  9. if(uzytkownik) { echo 'teskt widoczny dla uzytkonika i admina'; }
  10. ?>
bartg
Ja osobiście w swoim FW w bazie mam zapisane nazwe Akcji i Metody. Dopisuje do tego grupę. I jeśli mam User/show/1 to znaczy że goście mogą podglądać userów smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.