Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Klasa Autoryzacji
Black-Berry
post
Post #1





Grupa: Zarejestrowani
Postów: 663
Pomógł: 6
Dołączył: 3.06.2007
Skąd: Kraków

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


Napisałem klasę do autoryzacji. Wzorowałem się trochę na Zend_Auth i artykułach z Internetu. Zastanawiam się czy czegoś przypadkiem nie przeoczyłem. Takie są moje metody z klasy:

  1. <?php
  2. //authorization
  3.    $user->authorization->addRole('banned');
  4.    $user->authorization->addRole('guest');
  5.    $user->authorization->addRole('user', 'quest'); //druga zmienna to dziedziczenie
  6.    $user->authorization->addRole('member', 'user');
  7.    $user->authorization->addRole('moderator', 'member');
  8.    $user->authorization->addRole('administrator');
  9.    //-----------------
  10.    $user->authorization->addResource('admin_menu', array('view', 'show'));
  11.    $user->authorization->addResource('admin_panel', array('view'));
  12.    $user->authorization->addResource('structure_item', array('view', 'add', 'update', 'delete')); //2 argument to tablica mozliwych akcji
  13.    $user->authorization->addResource('user_account', array('view', 'add', 'update', 'delete'));
  14.    //-----------------
  15.    $user->authorization->allow('guest', 'structure_item', 'view'); //3 zmienne oznaczaja allow dla konkretnej akcji
  16.    $user->authorization->allow('user', 'user_account', 'view');
  17.    $user->authorization->allow('user', 'admin_menu'); //2 zmienne to dostep do wszystkich akcji z zasobu
  18.    $user->authorization->deny('user', 'admin_menu', 'show');
  19.    $user->authorization->allow('member', 'admin_menu', 'show');
  20.    $user->authorization->allow('member', 'user_account', array('add', 'update')); //lista akcji 'allow' jako 3 argument
  21.    $user->authorization->allow('moderator', 'structure_item');
  22.    $user->authorization->deny('moderator', 'user_account', 'add');
  23.    $user->authorization->allow('administrator'); //1 zmienna to pelny dostep do wszystkiego
  24.    $user->authorization->deny('banned');
  25. ?>


Czy taki sposób obejmuje wszystkie mozliwe problemy jakie mogą mi się przytrafić z autoryzacją. Próbowałem już innych metod np grupami dostepowymi ale okazały się nietrafne. Nie chciałbym już do tego wracać. Czy to jest rozwiązanie 'ostateczne' ?(IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Zapraszam do dyskusji.

Ten post edytował Black-Berry 16.02.2009, 12:08:43
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: 28.09.2025 - 03:10