Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Zend_Acl 
V
    Опции темы
NewDima
Дата 18.8.2009, 07:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

Репутация: 10
Всего: 12



разбираюсь тут со списками доступа в зенде, самые азы, не могу понять, почему следующий код выводит bool(false):
Код

require 'Zend/Acl.php';
require 'Zend/Acl/Role.php';
require 'Zend/Acl/Resource.php';
$acl = new Zend_Acl();
$acl->addRole(new Zend_Acl_Role('guest'))
    ->addRole(new Zend_Acl_Role('member'), 'guest')
    ->addRole(new Zend_Acl_Role('admin'))
    ->addResource(new Zend_Acl_Resource('view'))
    ->addResource(new Zend_Acl_Resource('edit'))
    ->addResource(new Zend_Acl_Resource('clean'))
    ->allow('guest', null, 'view')
    ->allow('member', null, 'edit')
    ->allow('admin');
var_dump($acl->isAllowed('guest', 'view'));

Кто знает, подскажите, а то не пойму, вроде же allow('guest', null, 'view') присутствует
PM ICQ   Вверх
icewind
Дата 18.8.2009, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 11.4.2009
Где: Ростов-на-Дону

Репутация: 20
Всего: 20



Немного не верное понимание... Во-первых метода addResource у Zend_Acl нет. Используется add. 
Второй параметр null указывает что данная директива действительна для всех ресурсов и правильнее будет написать так
Код

require 'Zend/Acl.php';
require 'Zend/Acl/Role.php';
require 'Zend/Acl/Resource.php';
$acl = new Zend_Acl();
$acl->addRole(new Zend_Acl_Role('guest'))
    ->addRole(new Zend_Acl_Role('member'), 'guest')
    ->addRole(new Zend_Acl_Role('admin'))
    ->add(new Zend_Acl_Resource('news'))
    ->add(new Zend_Acl_Resource('comments'))
    ->add(new Zend_Acl_Resource('articles'))
    ->allow('guest', null, 'view')
    ->allow('member', null, 'edit')
    ->allow('admin');

var_dump($acl->isAllowed('guest', null, 'view'));


или

Код

var_dump($acl->isAllowed('guest', 'news', 'view'));



--------------------
user posted image
PM MAIL Skype   Вверх
NewDima
Дата 18.8.2009, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

Репутация: 10
Всего: 12



Цитата(icewind @ 18.8.2009,  16:45)
 метода addResource у Zend_Acl нет. Используется add. 
Код

var_dump($acl->isAllowed('guest', 'news', 'view'));

спасибо, затупил с isAllowed =)
а метод есть, в Acl.php
Код

 public function addResource($resource, $parent = null)
    {
        if (is_string($resource)) {
     ...
    }


Это сообщение отредактировал(а) NewDima - 18.8.2009, 11:01
PM ICQ   Вверх
icewind
Дата 18.8.2009, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 11.4.2009
Где: Ростов-на-Дону

Репутация: 20
Всего: 20



Цитата(NewDima @  18.8.2009,  11:00 Найти цитируемый пост)
а метод есть, в Acl.php

А какая верися фреймворка? 


--------------------
user posted image
PM MAIL Skype   Вверх
NewDima
Дата 18.8.2009, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

Репутация: 10
Всего: 12



Цитата(icewind @ 18.8.2009,  19:01)
А какая верися фреймворка?

1.9.1
PM ICQ   Вверх
icewind
Дата 18.8.2009, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 11.4.2009
Где: Ростов-на-Дону

Репутация: 20
Всего: 20



хех  smile действительно есть... Я использовал 1.9.0 и там этого метода нет. А тут метод add всего лишь обертка для addResource(). 


--------------------
user posted image
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0444 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.