J'ai une classe représentant mon identité qui contient quelques informations. Voici la version courte.zend_auth identité sur le sillage
class Auth_User {
private $id;
private $current_role;
public function __construct($id, $current_role) {
$this->id = (int) $id;
$this->current_role = (string) $current_role;
}
public function __wakeup() {
if (/*$current_role is not valid*/) {
/*clear identity and redirect to login*/
{
}
}
Ma question comment puis-je effacer en toute sécurité l'identité et rediriger pour se connecter dans la méthode de réveil? Si je fais ce qui suit, il semble fonctionner dans une boucle infinie.
Zend_Auth::getInstance()->clearIdentity();
$this->_helper->redirector('index', 'index');
Eh bien, il devrait faire l'affaire, pourriez-vous donner un peu plus de détails pour que quelqu'un pourrait vous donner une meilleure solution. –
Je pense que le problème est quand j'appelle Zend_Auth :: getInsance() -> clearIdentity(); il appelle encore et encore la fonction __wakeup. Donc, sa récursion infinie. – Jeremiah