Implementacja ACL dla mojej aplikacji PHP
Moja aplikacja Realestate PHP posiada następujące grupy użytkowników,
Admins, Moderatorzy Agenci
Chcę określić następujące uprawnienia dla następujących użytkowników.
Admins - >
- Może Tworzyć Moderatorów,
- Może Tworzyć Agentów,
- Można Wstawić Właściwości,
- Może Aktualizować Właściwości,
- Można Usunąć Właściwości
Stąd Admin będzie miał wszystkie uprawnienia w skrócie Admin tutaj będzie superAdmin
Chcę przypisać ograniczone uprawnienia moderatorowi, a co za tym idzie agentom.
Jestem zdezorientowany, jak stworzyć bazę danych do tego, a także jak zaimplementować ją w mojej aplikacji PHP.
Thank you
2 answers
Wygląda na to, że będziesz potrzebował systemu kontroli dostępu opartego na rolach. Rozwijanie jednego nie jest naprawdę trywialne zadanie, tak jak już sugerowano, znalezienie frameworka lub gotowej klasy, która robi praca byłaby warta zachodu.
Dostęp Oparty Na Rolach 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ę, w której należy zdefiniować wszystkie typy roli.
I jedna tabela dla użytkowników
Przypisuj różne role różnym użytkownikom poprzez łączenie dwóch tabel. oraz coś takiego ......
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 10:29:40
Sposób, w jaki robiłem to w przeszłości, polegał na utworzeniu tabeli użytkowników w bazie danych, która miała poziom dostępu (Administrator, Moderator i agenci).
Następnie, jeśli masz system menu, zaimplementuj sprawdzenie, jakie uprawnienia są potrzebne do jakich linków... Admini zobaczą wszystkie linki, Moderator zobaczy tylko linki, które powinien zobaczyć, a agenci zobaczą tylko to, co powinni zobaczyć.
Również na stronach, które możesz chcieć ograniczyć użytkowników, będziesz chciał sprawdzić, czy poziom dostępu użytkowników. Jeśli przejdą, zobaczą stronę, jeśli nie, zostaną przekierowani lub pojawi się błąd javascript.
Coś takiego jak poziom dostępu może Ci pomóc w przechowywaniu go w pliku cookie, ponieważ możesz ograniczyć połączenia do bazy danych.
Mam nadzieję, że to pomoże, Mike
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-12-11 07:24:27