login  Naam:   Wachtwoord: 
Registreer je!
 Forum
Zoeken  Regels  Help
Categorieën > Object georiënteerd

[ZF] Zend_Redirect + Zend_Acl

Chilion – 15/06/2011 12:14
Hallo allen,

Ik heb een applicatie waarin meerdere dingen mogelijk zijn (deleten, adden, edit) wanneer men een van deze opties kiest en niet is ingelogd wordt de pagina doorgestuurd naar een Zend_Auth controller met een Zend_Acl daarachter.

Na het inloggen gaat de gebruiker terug naar de index pagina alwaar hij of zei opnieuw voor deleten, adden of edit moet kiezen, ik wil dat wanneer de gebruiker een optie kiest waardoor hij moet inloggen er meteen gekeken wordt waar hij weg komt en waar hij weer naar geredirect moet worden.

Hoe doe ik dit zonder form.

Groeten,

2 antwoorden

Gesponsorde links
Daisycon - Verdien geld met uw website

MiST – 15/06/2011 20:27
Ik los dat op door een subklasse te maken van Zend_Controller_Action die een methode redirectOnUnauthorized() heeft.

Als de gebruiker dus niet aangemeld is, wordt-ie naar de login pagina gestuurd. In de GET parameter geef ik het adres door van waar de gebruiker komt en het loginformulier vangt dit op. Na het inloggen wordt de gebruiker automatisch doorverwezen naar de plek waar hij/zIJ (;)) voordien was.

Is dit het gedrag waar je naar op zoek bent?

Chilion – 16/06/2011 14:17 (Laatst gewijzigd op 16/06/2011 15:33)
Ja, daar ben ik wel naar opzoek ja.

Ik heb nu dit stukje (relevante) code:

GastenboekController.php
  1. <?php
  2. $this->user = null;
  3. $this->auth = Zend_Auth::getInstance();
  4. if($this->auth->hasIdentity()) {
  5. $this->user = $this->auth->getIdentity()->role;
  6. }
  7.  
  8. if($this->acl->isAllowed($this->user, 'gastenboek', 'add')) {
  9. // blablabla
  10. }
  11.  
  12. else {
  13. $this->_forward('', 'auth'); //to login page
  14. }
  15. ?>


AuthController.php
  1. <?php
  2.  
  3. $action = $this->_request->getActionName();
  4. $controller = $this->_request->getControllerName();
  5.  
  6. $this->_helper->redirector->gotoSimple($action, $controller); //HIER
  7. ?>



Bij //HIER is er ingelogd en wat er terug gelinkt, maar er wordt dus niet teruggelinkt maar naar auth/ gegaan.

Gesponsorde links

Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten:

© 2002-2012 Sitemasters.be - Regels - Gehost door: Vircon - Laadtijd: 0.327s