Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZF] $this->_redirect
toomeczek
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 7.03.2007
Skąd: Mszczonów

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


Mam plugin który wykonuje sie przed Dispatcherem i sprawdza czy użytkownik jest zalogowany. Jak nie jest zalogowany to powinien przekierować do panelu logowania, tylko nie wiem jak sie odwołać do _redirect(''), bo $this dowoluje sie do Zend_Controller_Plugin_Abstract, a tu nie ma tej metody. Macie jakiś pomysł?

  1. <?php
  2. class Zend_Controller_Plugin_Authorization extends Zend_Controller_Plugin_Abstract
  3. {
  4. public function preDispatch(Zend_Controller_Request_Abstract $request)
  5. {
  6. $name = $this->getRequest()->getControllerName();
  7. $auth = Zend_Auth::getInstance();
  8.  
  9. if(!$auth->hasIdentity() and $name!='admin')
  10. {  
  11.  $this->_redirect('/admin'); //niezalogowany
  12. }
  13. }
  14. }
  15. ?>


Zmieniłem na coś takiego
  1. <?php
  2. if(!$auth->hasIdentity() and $name!='admin')
  3. {  
  4.  $this->getRequest()->setControllerName('admin');
  5. }
  6. ?>


Ten post edytował toomeczek 26.06.2008, 11:37:13
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
toomeczek
post
Post #2





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 7.03.2007
Skąd: Mszczonów

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


OK, dziala (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


Mam jeszcze jedno pytanie bo zrobilem odrazu:

  1. <?php
  2. public function Authentication($auth){
  3. $user=$auth->getIdentity();
  4. if($user){
  5.  
  6. $uprawnienia= $user->uprawnienia;
  7. $acl = new Zend_Acl();
  8. $acl->addRole(new Zend_Acl_Role('guest'))
  9. ->addRole(new Zend_Acl_Role('member'))
  10. ->addRole(new Zend_Acl_Role('admin'));
  11.  
  12. $acl->add(new Zend_Acl_Resource('index')); 
  13. $acl->allow('guest', 'index');
  14.  
  15. $acl->add(new Zend_Acl_Resource('admin')); 
  16. $acl->allow('guest', 'admin');
  17.  
  18. return $acl->isAllowed($uprawnienia, $this->name) ? '1' : '0';
  19.  
  20. }else return 1;
  21. }
  22. ?>


i tu jak zworci 0 to znacza ze nie ma dostepu, chce to wyswietlic uzytkownikowi,
ale
  1. <?php
  2. Zend_Loader::loadClass('Zend_View');
  3. $view = new Zend_View();
  4. $view->books = $data;
  5.  
  6. // and render a view script called "error.php"
  7. echo $view->render('booklist.php');
  8. ?>


nie dziala bo mam header i footer w folderze wyżej zeby byl dostepny dla wszystkich widokow i nie chce mi ich wczytac. Ustawiam
$view->setScriptPath('/application/views/script'); ale i tak nie dziala
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: 26.12.2025 - 04:10