![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 550 Pomógł: 9 Dołączył: 29.05.2009 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Witam, uczę się Zend Framework z tutoriala, w pewnym momencie napotykam na błąd.
Plik Bootstrap.php Kod <?php class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { protected function _initAutoLoad() { $modelLoader = new Zend_Application_Module_AutoLoader(array( 'namespace' => '', 'basePath' => APPLICATION_PATH )); $this->_acl = new Model_LibraryAcl; $this->_auth = Zend_Auth::getInstance(); $fc = Zend_Controller_Front::getInstance(); $fc->registerPlugin(new Plugin_AccessCheck()); return $modelLoader; } Plik AccessCheck.php Kod <?php class Plugin_AccessCheck extends Zend_Controller_Plugin_Abstract { private $_acl = null; private $_auth = null; public function __construct(Zend_Acl $acl, Zend_Auth $auth) { $this->_acl = $acl; $this->_acl = $auth; } public function preDispatch(Zend_Controller_Request_Abstract $request) { $resource = $request->getControllerName(); $action = $request->getActionName(); $identity = $this->_auth->getSorage()->read(); $role = $identity->role; if(!$this->_acl->isAllowed($role, $resource, $action)){ $request->setControllerName('authentication') ->setActionName('login'); } } } Plik LibraryAcl.php Kod <?php class Model_LibraryAcl extends Zend_Acl { public function __construct() { $this->add(new Zend_Acl_Resource('sala')); $this->add(new Zend_Acl_Resource('edit'), 'sala'); $this->add(new Zend_Acl_Resource('add'), 'sala'); $this->add(new Zend_Acl_Resource('sale')); $this->add(new Zend_Acl_Resource('list'), 'sale'); $this->addRole(new Zend_Acl_Role('user')); $this->addRole(new Zend_Acl_Role('admin'), 'user'); $this->allow('user', 'sale', 'list'); $this->allow('admin', 'sala', 'edit'); $this->allow('admin', 'sala', 'add'); } } Otrzymuję taki komunikat: Kod Catchable fatal error: Argument 1 passed to Plugin_AccessCheck::__construct() must be an instance of Zend_Acl, none given, called in C:\xampp\htdocs\sala\application\Bootstrap.php on line 15 and defined in C:\xampp\htdocs\sala\application\plugins\AccessCheck.php on line 7 Proszę o lekarstow:). Ps: Pewnie wszystko jest ładnie opisane w komunikacie błędu, jednak ja jeszcze tego nie ogarniam. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
bootstrap.php
1. dodaj dwa pola:
oraz
2. Zamień
na
3. w konstruktorze Plugin_AccessCheck zamień
na
ps. świetny jest ten tutorial na YouTube ![]() -------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 550 Pomógł: 9 Dołączył: 29.05.2009 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Super wprowadziłem zmiany i działa. Ale się cieszę
![]() Swoją drogą ten tutorial jest bardzo dobry dla takich osób, jak ja które chcą skorzystać z FrameWorka Zend i nie wiedzą jak zacząć. "Aleksander" super przedstawił i wytłumaczył. Naprawdę respekt dla niego! |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Popieram, Alex daje radę, polecam też Jego blog, miejscami dokumentacja do ZF jest delikatnie ujmując słaba, a tutoriale Alexa docierają do najbardziej odpornych na wiedzę.
Ten post edytował darko 28.11.2009, 22:21:33 -------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 550 Pomógł: 9 Dołączył: 29.05.2009 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Kurcze jeszcze mam mały problem otóż po wprowadzeniu poprawnego usera oraz password dostaje taki komunikat:
Kod Fatal error: Uncaught exception 'Zend_Acl_Role_Registry_Exception' with message 'Role 'users' not found'
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
LibraryAcl.php
zamień $this->addRole(new Zend_Acl_Role('user')); na $this->addRole(new Zend_Acl_Role('users')); -------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 550 Pomógł: 9 Dołączył: 29.05.2009 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Kod Fatal error: Uncaught exception 'Zend_Acl_Role_Registry_Exception' with message 'Parent Role id 'user' does not exist'
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Ten post edytował darko 28.11.2009, 22:58:07 -------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 550 Pomógł: 9 Dołączył: 29.05.2009 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Kod Fatal error: Uncaught exception 'Zend_Acl_Role_Registry_Exception' with message 'Role 'user' not found' in ![]() Sam nie wiem czy może prócz tych plików które podałem mogę mieć gdzieś błąd? |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
na pewno podmieniłeś w acl konsekwentnie
$this->allow('user', 'sale', 'list'); na $this->allow('users', 'sale', 'list'); ![]() -------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 550 Pomógł: 9 Dołączył: 29.05.2009 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Po podmienieniu na users pokazuje mi się strona z takim komunikatem:
"Firefox wykrył, że serwer przekierowuje żądanie tego zasobu w sposób uniemożliwiający jego ukończenie. * Problem ten może się pojawić w wyniku zablokowania lub odrzucenia ciasteczek." Może to pomoże http://www.youtube.com/watch?v=1A3o35oHmfA...E9&index=18 tutaj opisuje bug... Ten post edytował cykcykacz 28.11.2009, 23:18:11 |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Bo acla masz źle ustawionego:
dodaj
Ten post edytował darko 28.11.2009, 23:20:44 -------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 550 Pomógł: 9 Dołączył: 29.05.2009 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Ok zadziałało ale tego nie rozumiem do końca możesz mi wytłumaczyć że tak powiem co z czym się je:)?
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Odsyłam do dokumen... ekhm Aleksa
![]() -------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 29.06.2025 - 12:47 |