Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dostęp do aplikacji oparty o role
inomi13
post 16.06.2023, 11:42:27
Post #1





Grupa: Zarejestrowani
Postów: 95
Pomógł: 0
Dołączył: 16.08.2017

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


Zrobiłem dostęp warunkowy do aplikacji za pomocą ról opartą o operatory bitowe. Proszę o feedback czy moje rozwiązanie ma sens i co o tym myślicie.

  1. /*
  2. Role Based Access Control to system
  3.  
  4. //permission
  5. 0 0 0 0 0 0 0 1 - Access system
  6. 0 0 0 0 0 0 1 0 - Read
  7. 0 0 0 0 0 1 0 0 - Write
  8. 0 0 0 0 1 0 0 0 - Delete users
  9. 0 0 0 1 0 0 0 0 - Read Logs
  10.  
  11. //person
  12. user = 1;
  13. guest = 1 | 2 | 4;
  14. moderator = 1 | 2 | 4 | 8;
  15. admin = 1 | 2 | 4 | 8 | 16;
  16.  
  17. */
  18.  
  19. function roleBasedAccessControl($person)
  20. {
  21. global $visibity;
  22.  
  23. $permission = 1 | 2 | 4 | 8 | 16;
  24.  
  25. switch($permission & $person){
  26. case 0:
  27. case 1:
  28. echo '<div class="alert role alert-danger" role="alert"><li>Brak uprawnień do tej zawartości. Skontaktuj się z administratorem systemu!</li></div>';
  29. exit();
  30. break;
  31. case 2:
  32. case 3:
  33. echo '<div class="alert role alert-warning" role="alert"><li>Ograniczone uprawnienia tylko do odczytu.</li></div>';
  34. $visibity = 'disabled';
  35. break;
  36. case 7:
  37. echo '<div class="alert role alert-info" role="alert"><li>Ograniczone uprawnienia tylko do odczytu i zapisu.</li></div>';
  38. break;
  39. default:
  40. return true;
  41. }
  42. }


Ten post edytował inomi13 16.06.2023, 11:51:41
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Tomplus
post 17.06.2023, 19:24:21
Post #2





Grupa: Zarejestrowani
Postów: 1 844
Pomógł: 227
Dołączył: 20.03.2005
Skąd: Będzin

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


Co jak pojawią się kolejne role? Jedna osoba będzie mogła odczytywać i zapisywać w miejscu A, a inna tylko w B. Albo moderator będzie mógł operować tylko na konkretnej stronie.



Go to the top of the page
+Quote Post
inomi13
post 19.06.2023, 09:55:44
Post #3





Grupa: Zarejestrowani
Postów: 95
Pomógł: 0
Dołączył: 16.08.2017

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


Cytat(Tomplus @ 17.06.2023, 20:24:21 ) *
Co jak pojawią się kolejne role? Jedna osoba będzie mogła odczytywać i zapisywać w miejscu A, a inna tylko w B. Albo moderator będzie mógł operować tylko na konkretnej stronie.

Dzięki za sugestie, faktycznie masz racje. Dołożyłem do funkcji drugi argument deklarujący dane uprawnienie aby ten problem rozwiązać.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 10.06.2024 - 18:02