2010-12-11 11 views
7

My RealEstate PHP aplikacji mają następujące grupy użytkowników,wykonawcze ACL dla mojej aplikacji PHP

Administratorzy, Moderatorzy Agencje

chcę podać następujące uprawnienia do następujących użytkowników.

Admini ->

  • można utworzyć moderatorów
  • można utworzyć agentów,
  • może wstawić Właściwości,
  • można zaktualizować Właściwości,
  • można usunąć Właściwości

Stąd administrator będzie miał wszystkie uprawnienia w skrócie Admin będzie tutaj superAdmin

Chcę przypisać ograniczone uprawnienia moderatorowi, a tym samym agentom.

Jestem zdezorientowany, jak utworzyć bazę danych do tego, a także w jaki sposób wdrożyć ją w mojej aplikacji PHP.

dziękuję

Odpowiedz

11

Brzmi to jak masz zamiar potrzebny jest system kontroli dostępu oparty na rolach. Opracowanie jednego z nich nie jest naprawdę banalnym zadaniem, więc jak już zasugerowano, znalezienie szkieletu lub gotowej klasy, która ma , praca byłaby warta rozpoczęcia.

Role Based Access Control

http://www.tonymarston.net/php-mysql/role-based-access-control.html

http://www.sqlrecipes.com/database_design/fine_grained_role_based_access_control_rbac_system-3/

http://www.sitepoint.com/forums/showthread.php?threadid=162027

Należy utworzyć tabelę gdzi musisz określić wszystkie rodzaje roli.

i jedna tabela dla użytkowników

dotyczą różnych ról do innego użytkownika Via łącząca dwie tabele. i coś takiego ......

+0

Użyj frameworku takiego jak cakephp lub zend. mają wbudowane biblioteki komponentów dla ACL, a także łatwe do nauczenia –

0

Sposób, że zrobili to w przeszłości było stworzenie tabeli użytkowników w bazie danych, który miał poziom dostępu (Admin, Moderator, i agentów).

Jeśli masz system menu, zaimplementuj kontrolę, aby zobaczyć, jakie uprawnienia są wymagane dla linków ... Administratorzy zobaczą wszystkie linki, Moderator zobaczy tylko linki, do których ma się odnosić, a agenci będą widzieć tylko co oni powinni zobaczyć.

Również na stronach, na których możesz chcieć ograniczyć użytkowników, musisz sprawdzić poziom dostępu użytkowników. Jeśli przejdą, zobaczą stronę, jeśli nie, zostaną przekierowani lub wystąpi błąd javascript.

Coś takiego jak poziom dostępu może Ci się przydać do przechowywania w pliku cookie, ponieważ możesz ograniczyć liczbę połączeń do bazy danych.

Nadzieja to pomaga, Mike

+3

... Masz na myśli plik cookie, który mogą dowolnie modyfikować, aby podnieść poziom dostępu? – mpen

+0

Prawdziwe pliki cookie są trochę niepewne, ale możesz to sprawdzić, sprawdzając bazę danych. Większość aplikacji, które musiałem zbudować, przeznaczone było dla pracowników wewnętrznych i nie było naprawdę nic, co mogłoby zyskać oprócz innych stron. Nie wspominając już o tym, że wszystko zostało zalogowane, więc nawet jeśli pominąłbyś niektóre kontrole, to rejestrowałby twoją stronę. Cieszę się, że pomogło. Mam nadzieję, że nadal będę pomagać na tym forum. – Psycorpse