Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework]Kontrola dostępu, czy nie można tego zrobić lepiej, wydajniej, szybciej
juzwa
post
Post #1





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 10.07.2006

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


jak rozumiem to idea Zend_Acl opiera się na takich zasadach

1)zdefiniowanie, stworzenie ról - niech będzie to
-administrator
-zlecacz
-kontroler
-instalator

  1. <?php
  2. $acl = new Zend_Acl();
  3.             $acl->addRole(new Zend_Acl_Role('admin'))
  4.                ->addRole(new Zend_Acl_Role('kontroler'))
  5.                ->addRole(new Zend_Acl_Role('zlecacz'))
  6.                ->addRole(new Zend_Acl_Role('instalator'));
  7. ?>



2)na podstawie parametru z bazy danych przypisuje się aktualnie zalogowanego użytkownika do jakieś roli

3)zależy jak to ma zdefiniowane kontrolery tak sobie przypisuje uprawnienia, ja mam na zasadzie "obiektów" np uzytkownik, plik, zlecenie itp - do każdej akcji z tych obiektów dana rola ma lub nie ma dostępu - np do edycji swoich danych (z kontrolera użytkownik) ma dostepk każdy, a do dodawanie np tylko admin itp itd,
no to sobie trzeba zdefiniować zasoby - tyle ile trzeba dla uzytkowników

  1. <?php
  2. $acl->add(new Zend_Acl_Resource('user/add'));
  3. $acl->add(new Zend_Acl_Resource('user/edit'))
  4. ?>


4) i potem sprawdza się czy ma sie dostęp
  1. <?php
  2. $controler     = $this->_request->getControllerName();
  3. $action     = $this->_request->getActionName();
  4. if(!$acl->isAllowed($rola ', $controler.'/'.$action))
  5. $this->_redirect('auth/error403);
  6. ?>


ale jaka z tego jest korzyść skoro mozna sobie XML-a zrobić
  1. <acl>
  2.    <!--role-->
  3.    <admin>
  4.         <!--kontrolery-->
  5.         <controler name="user">
  6.               <!--akcje-->
  7.               <action>add</action>
  8.               <action>edit</action>
  9.         </controler >
  10.    </admin>
  11. </acl>


i potem za pomocą parsera to sobie sprawdzić?

może coś źle mówię, nie wiem, ale wydaje mi się, że taki sposób z XML-em jest szybszy do napisania i wygodniejszy

ps - jeśli coś źle napisałem o zasadach tworzenia kontroli dostępu i samej kontroli Zend_Acl to prosze o wyprowadzenie mnie z błędu
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: 27.09.2025 - 21:38