Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Rozwiązania dot. grup użytkowników
acztery
post
Post #1





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

Ostrzeżenie: (0%)
-----


Chciałem zapytać jakie rozwiązania stosujecie w klasa użytkowników ( dokładniej grupy użytkowników, uprawnienia itp ) Chodzi mi o jaknajbardziej logiczne i funkcjonalne rozwiązania.

Ja mam taki pomysł

Mamy np tabele group ( Id;Name;Desc;Priorytet ) i naprzykład 1 rekord 1;Admin;Administrator serwisu;0
i w tabeli user pole group i tam 0 albo no ( 4;5;2 ) i to by oznaczało ze operator forum, nowosci i moze edytowac wiadomosci ) nie wiem czy to logiczne. Tworze to do cms. chcial bym to tak zrobic ze w łatwy sposón można ustalać co kto może bez ingernecji w kod.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Athlan
post
Post #2





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

Ostrzeżenie: (0%)
-----


Popieram @Speedy. U mnie jest to zrobione tak, że każdemu użytkownikowi przypisuje sie pewne grupy podczas logowania. Za przechowywanie grup służy klasa User:

http://framework.vgroup.pl/expose-cab9852b...f33e1b4ac40.htm

Filtracja jest bardzo prosta. Jeżeli mamy grupy, możemy wykonac na nich różnorakie operacje, np jeżeli koleś ma grupę admin, moderator i banned to nie wejdzie w panel adminsitracyjny ze względu na tą trzecią. Jak zauważyliście podział grup jest na deny i allow. Grupy deny nie mają prawa dostępu do modułu (w moim przypadku konkretnej akcji kontrolera lub całego kontrolera), chociaż mają grupy uprawnione do jego przeglądania. Filtrem zajmuje się klasa ACL.Class.php

http://framework.vgroup.pl/expose-26bd1a93...f73da9723bf.htm

Zbieranie grup usera i przekazanie do klasy ACL to zadanie klasy Access:

http://framework.vgroup.pl/expose-f42de72a...51760e82bd4.htm

Całość dołącza się do FrontControllera. Przykladowa konfiguracja:

  1. <?php
  2. $aConfig['NewsAdmin_Vcontroller'] = array
  3. (
  4.  
  5. 'edit_Action' => array
  6. (
  7. 'access' => array
  8. (
  9. 'allow' => array('admin', 'moderator'),
  10. 'deny' => array('paused'),
  11. )
  12. )
  13. )
  14. ?>


Grupa "paused" to tymczasowo zbanowani userzy, to Ci, którzy na przykład zalogowali się źle więcej niż 3 razy ale wkońcu im się udało.

Taki przyklad (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) pozdrawiam, Athlan (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.12.2025 - 09:58