Actually you could set this in your Login action itself (if empty($this->data)) .. Very simple :-)
On Feb 22, 8:12 pm, Baz <[EMAIL PROTECTED]> wrote: > I have it dirt simple. In the login, I write the cookie. I set no expiration > on it. According to the docs, this will cause the cookie to expire when the > browser closes, which is perfect... > > and in beforeRender() NOT filter: > > function beforeRender() > { > $loggedIn = $this->Cookie->read('Auth.UserLogged'); > if (!$this->Auth->user() && isset($loggedIn)){ // If not logged in, but > cookie says logged in > del cookie > set expired flash > } > > No complications....That's all I need. > > On Fri, Feb 22, 2008 at 12:10 PM, francky06l <[EMAIL PROTECTED]> wrote: > > > Actually I can make it more simple, I will think about and post > > more ... > > > On Feb 22, 7:01 pm, francky06l <[EMAIL PROTECTED]> wrote: > > > I have got it working, not tested all cases ...If Baz and EchoChargen > > > try, let me know problem and/or enhancements > > > > In UserController if login successful : > > > > $this->Cookie->write(array('user.logged' => 1), null, true, '+1 > > > day'); > > > > I suppose after one day we do not want "Session expired anymore". I > > > delete the Cookie value in logout action, but did not paste this > > > here .. > > > Note the Cookie parameters are set in AppController below.. > > > > Now in AppController::beforeFilter > > > > $this->Cookie->domain = ''; > > > $this->Cookie->name = 'TESTAPP'; > > > $this->Cookie->time = '+30 days'; > > > > if(isset($this->Auth)) > > > { > > > if($this->name == 'Pages') // we might want to test the > > > allowed action (in case of beforeFilter set them in Auth before > > > calling parent) > > > $this->Auth->allow('*'); > > > else > > > { > > > $this->Cookie->startup(); // essential to be > > > able to read value > > > $step = $this->Cookie->read('User.logged'); > > > > if(!$this->Session->valid()) > > > { > > > if($v == 1) > > > { > > > $this->Cookie->write(array('User.logged' => 2), > > > null, true, '+5 minute'); > > > // we give 5 minutes for the user to log in the > > > step after > > > } > > > } > > > else > > > { > > > if($v == 2) > > > { > > > $this->Session->setFlash("Session has expired", > > > 'default', array(), 'auth'); > > > $this->Cookie->del("User.logged"); > > > } > > > } > > > > $this->Auth->loginAction = '/users/login'; > > > } > > > > That;'s about it ... seems to work ok ..Haven't try all cases I guess > > > with different expiration time on cookie values. > > > > hth > > > Franck > > > > On Feb 22, 6:03 am, Baz <[EMAIL PROTECTED]> wrote: > > > > > I've given up....Sessions expire and the redirect causes issues. I > > thought > > > > it was a bug, but it's not...Just an annoyance. > > > > > I don't know what's wrong with going the cookie route. With all the > > > > redirects, I really don't see a way around it. > > > > > On Thu, Feb 21, 2008 at 10:58 PM, EchoChargen <[EMAIL PROTECTED]> > > wrote: > > > > > > I'm having a hard go of it on this still. Has anyone else seen the > > > > > behavior above? > > > > > Francky - could you elaborate a little on your approach? > > > > > Thanks, > > > > > Jeremy > > > > > > On Feb 21, 12:30 am, francky06l <[EMAIL PROTECTED]> wrote: > > > > > > I have made it work, the only thing I had problem was the first > > time > > > > > > on the page but this can be fixed with Baz approach (Cookie). > > > > > > Baz if you pass twice in befoeFilter, you can detect it by setting > > a > > > > > > variable (maybe static) in beforeFiler ? > > > > > > > On Feb 21, 5:32 am, EchoChargen <[EMAIL PROTECTED]> wrote: > > > > > > > > Another thing of note, is if I run through the steps: > > > > > > > 1. login, get redirected to what I have in Auth->loginRedirect > > > > > > > 2. let session expire > > > > > > > 3. click a link to a protected action and get redirected to > > > > > Auth->loginAction, and in my case above get a flash message with > > "your > > > > > > > > session timed out." > > > > > > > 4. At this point, if I sit on the login page and let the session > > > > > > > timeout again, then submit the login form....at this point > > > > > Auth->authError is getting set, I get redirected back to > > Auth->loginAction > > > > > > > > and the flash.message.auth displays the message I have > > configured for > > > > > > > Auth->authError. > > > > > > > > This is repeatable for me. Is this behavior anyone else has > > seen? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Cake PHP" group. To post to this group, send email to cake-php@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~----------~----~----~----~------~----~------~--~---