Using Eric's post, I created a very simple way to get the Auth
component to redirect to the referring page no matter what. I think
its userful:

<?php
class UsersController extends AppController
{
    var $name = "Users";

    var $components = array("Auth");

    function beforeFilter()
    {
        $this->Auth->autoRedirect = false;
    }

    function login()
    {
        $this->redirect($_SERVER['HTTP_REFERER']);
    }
}



On Jul 2, 1:56 pm, Rich <[EMAIL PROTECTED]> wrote:
> that worked perfectly for me. thanks Eric!
>
> On Jul 2, 12:32 pm, Eric <[EMAIL PROTECTED]> wrote:
>
> > I had a similar problem and here is what I did.
>
> > 1. Change your setupAuth function like this
> > function setupAuth(  )
> > {
> > ...
> > $this->Auth->loginRedirect = '/users/loginRedirect';
> > $this->Auth->autoRedirect = false; // <-- handle redirecting yourself
>
> > }
>
> > 2. create a loginRedirect action which determines where to go after a
> > login has succeeded
>
> > function loginRedirect()
> > {
> >  $this->log('users/LoginRedirect()', LOG_DEBUG);
> >  if (parent::getAuthGroup() ===  "ADMIN")
> >  {
> >   $this->log('--redirecting to admin', LOG_DEBUG);
> >   $this->redirect('/admin/myCtrl/index');
> >  }
> >  else
> >  {
> >   $this->log('--redirecting to normal', LOG_DEBUG);
> >   $this->redirect('/myCtrl/index');
>
> > }
>
> > 3. Your login action is pretty simple then
>
> > function login()
> > {
> >  if ($this->Auth->login())
> >  {
> >    $this->loginRedirect();
> >  }
> >  else
> >  {
> >   if (!empty($this->data))
> >     $this->Session->setFlash($this->Auth->loginError);
> >  }
>
> > }
>
> > I think you can get the page that the user was trying to access via
> > the session, and redirect there, but taking them to the front page
> > works for me
> > .
> > Hopefully this helps.
>
> > -Eric
>
> > On Jul 2, 10:44 am, leo <[EMAIL PROTECTED]> wrote:
>
> > > On 2 Jul, 17:27, "dr. Hannibal Lecter" <[EMAIL PROTECTED]> wrote:
>
> > > > I see what you mean, but I'm not sure that you can put 'action' => '/'
> > > > or 'controller' => '/'.
>
> > > Sorry, I missed that. Nope, I wouldn't want to be doing that even if
> > > it was valid.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to