The login method is called automatically by Auth Component, if you
redirect to there and you have $this->data filled with the right info,
it will login. A way to solve this? I really dont know, I´ve never
tried to not use this function....
Let´s hear Cake gurus now!
Cheers,
mbavio
On Jul 3, 2:03 pm, "b logica" <[EMAIL PROTECTED]> wrote:
> More and more bizarre. When I removed the isAuthorized() *and* the
> login() methods, I can still log in.
>
> AppController:
>
> function beforeFilter()
> {
> $this->Auth->fields = array('username' => 'email', 'password' =>
> 'password');
> //$this->Auth->authorize = 'controller';
> $this->Auth->loginAction = array('controller' => 'users', 'action' =>
> 'login');
> $this->Auth->logoutRedirect = '/';
> $this->Auth->autoRedirect = true;
> $this->Auth->userScope = array('User.enabled' => 1);
>
> }
>
> class UsersController extends AppController {
>
> var $name = 'Users';
>
> function beforeFilter()
> {
> parent::beforeFilter();
> $this->Auth->allow('logout', 'newPassword');
> }
> function login()
> {
> die(debug('WTF?'));
> }
>
> Why/how can I log in successfully?
>
> On Thu, Jul 3, 2008 at 12:32 PM, b logica <[EMAIL PROTECTED]> wrote:
> > I'm having some trouble figuring out how to log in. I thought I had
> > this working but it turns out not to be the case.
>
> > From what I understand, the isAuthorized() method is called *after* a
> > successful login. But it seems that its presence causes login() to be
> > skipped entirely. My AppController has the following:
>
> > function beforeFilter()
> > {
> > $this->Auth->fields = array('username' => 'email', 'password' =>
> > 'password');
> > $this->Auth->authorize = 'controller';
> > $this->Auth->loginAction = array('controller' => 'users', 'action'
> > => 'login');
> > ...
> > }
>
> > function isAuthorized()
> > {
> > if (isset($this->params[Configure::read('Routing.admin')]))
> > {
> > if ($this->Auth->user('model') != 'Admin')
> > {
> > return false;
> > }
> > }
> > return true;
> > }
>
> > For the moment, I don't require any particular controller to have is
> > Authorized(). In my UsersController, I have a login method that sets a
> > few things in the session. But, I found that the method was not even
> > being used in order to login. When I temporarily changed the name of
> > the above isAuthorized(), the login() would be called. However, I'd
> > then be faced with the "You are not authorized ..." msg.
>
> > When I commented out the $this->Auth->authorize = 'controller'; line
> > in beforeFilter(), I was able to log in, though the UsersController
> > login() is not used. What the heck is going on here?
>
> > So, it seems that I have a bit of chicken & egg situation. What's the
> > proper way to use this?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"CakePHP" group.
To post to this group, send email to [email protected]
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
-~----------~----~----~----~------~----~------~--~---