За последние 24 часа нас посетили 17549 программистов и 1282 робота. Сейчас ищут 1480 программистов ...

Zend Framework, ACL, странное поведение

Тема в разделе "Прочие вопросы по PHP", создана пользователем guai, 1 июл 2008.

  1. guai

    guai Активный пользователь

    С нами с:
    18 янв 2007
    Сообщения:
    14
    Симпатии:
    0
    Народ, почему этот код выдает труё? Разве так и должно быть?
    Какая-то на мой взгляд странная логика.
    И в мануале написано, что вроде deny(null, ...) запрещает всем ролям доступ к ресу.

    PHP:
    1. require_once 'Zend/Loader.php';
    2. Zend_Loader::registerAutoload();
    3.  
    4. $acl=new Zend_Acl;
    5. ->add(new Zend_Acl_Resource('jjj'))
    6.     ->addRole(new Zend_Acl_Role('a'))
    7.     ->addRole(new Zend_Acl_Role('b'),'a')
    8.     ->allow('a','jjj','priv')
    9.     ->deny(null,'jjj','priv')
    10.     ->isAllowed('b','jjj','priv'));
    11. die();
    12.  
     
  2. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    PHP:
    1. <?php
    2.  require_once 'Zend/Loader.php';
    3.  Zend_Loader::registerAutoload();
    4.  
    5.  $acl=new Zend_Acl;
    6.  var_export($acl
    7.  ->add(new Zend_Acl_Resource('jjj'))
    8.      ->addRole(new Zend_Acl_Role('a'))
    9.      ->addRole(new Zend_Acl_Role('b'),'a')
    10.      ->allow('a','jjj','priv')
    11.      ->deny(null,'jjj','priv')
    12.      ->isAllowed('b','jjj','priv'));
    13.  die();
    После таких конструкций, ты рассуждаешь о логике? :)

    Попробуй не в линейку сделать, а $обьект->метод() на каждой строке. Что-то в линейке не то возвращает, от чего и ожидаемого ответа не получаешь.