Yup, let me clarify a bit more, you're passing $this->reuqest->data into 
$this->Auth->login():
   $this->Auth->login($this->request->data)
This will always log the user in no matter what is posted!

On Thursday, 21 June 2012 00:37:07 UTC+3, Max Dörfler wrote:
>
>  Like I said: You are passing data into the login function. In 2.0 this 
> "will log the user in with whatever data is posted". Thats why only the two 
> fields posted are displayed and the PW isn't hashed. Since you haven't 
> specified what version of cake you are using, I still assume this is the 
> reason. If you say you don't use cake 2.x I'll stop bothering you. ;)
>
> On 06/20/2012 09:27 PM, Joey Hauschildt wrote: 
>
> I just followed the tutorial in the book. The only custimization I made 
> was was using the email field instead of the username field.
>
> Here is my AppController:
>
> class AppController extends Controller {
>
>      public $uses = array('User');
>     
>     public $components = array(
>         'Session',
>         'Auth' => array(
>             'loginRedirect' => array('controller' => 'posts', 'action' => 
> 'index'),
>             'logoutRedirect' => array('controller' => 'pages', 'action' => 
> 'display', 'home')
>         )
>     );
>
>      public function beforeFilter() {
>         $this->Auth->allow('index', 'view');
>         $this->set('logged_in', $this->Auth->LoggedIn());
>         $this->set('current_user', $this->Auth->user());
>         //debug($this->Session->read('Auth.User'));
>     }
>
>      public function isAuthorized($user) {
>         return TRUE;
>     }
>
>  }
>
>
> And here is my Users/login action:
>
>     public function login() {
>         if ($this->request->is('post')) {
>
>              if ($this->Auth->login($this->request->data)) {
>                 return $this->redirect($this->Auth->redirect());
>             } else {
>                 $this->Session->setFlash(__('Username or password is 
> incorrect'), 'default', array(), 'auth');
>             }
>         }
>     }
>  
>
> The beforeFilter in my Users controller:
>
>     public function beforeFilter() {
>         parent::beforeFilter();
>         $this->Auth->fields = array('username' => 'email', 'password' => 
> 'password');
>         $this->Auth->allow('add', 'logout');
>     }
>  
>
>  
> On Wednesday, June 20, 2012 12:31:35 AM UTC-6, Борислав Събев wrote: 
>>
>> This could be the case - a wrongly implemented Authentication system. @Joey 
>> Hauschildt $this->Auth->user() and the "Auth.User" Session key should both 
>> return/contain the full user information - i.e. all fields from the users 
>> DB table. This behaviour is strange. Can you provide more info on your 
>> exact implementation.
>>
>> Cheers, 
>>    Borislav.
>>
>>
>> On Wednesday, 20 June 2012 00:36:24 UTC+3, Max Dörfler wrote: 
>>>
>>>  
>>> http://book.cakephp.org/2.0/en/core-libraries/components/authentication.html#identifying-users-and-logging-them-in
>>>
>>> "In 2.0 $this->Auth->login($this->request->data) will log the user in 
>>> with whatever data is posted, whereas in 1.3 
>>> $this->Auth->login($this->data) would try to identify the user first 
>>> and only log in when successful."
>>>
>>> I assume you are yousing 2.x. I guess this is what you are looking for. 
>>> Call login() without params.
>>>
>>> On 06/19/2012 11:18 PM, Joey Hauschildt wrote: 
>>>
>>> I am. All passwords in the db are hashed. The problem seems to be that 
>>> instead of getting info from the users table, it is only filling 
>>> debug($this->Session->read('Auth.User')); 
>>> and debug($this->Auth->User()) with data from the form. Otherwise the 
>>> password would be hashed. It has nowhere else to get an unhashed password 
>>> from. This seems like a pretty poor choice for default behavior. I would 
>>> prefer that my app didn't store passwords from the form anywhere.
>>>
>>> On Tuesday, June 19, 2012 2:50:45 PM UTC-6, Jeremy Burns wrote: 
>>>>
>>>> You should be hashing the password before saving it.
>>>>  
>>>> Jeremy Burns
>>>> Class Outfit
>>>>
>>>> http://www.classoutfit.com 
>>>>
>>>>  On 19 Jun 2012, at 19:41:30, Joey Hauschildt wrote:
>>>>
>>>> debug($this->Session->read('Auth.User')); 
>>>> and debug($this->Auth->User()); both return:
>>>>
>>>> array(
>>>>  'User' => array(
>>>>  'password' => '*****',
>>>>  'email' => '[email protected]'
>>>>  )
>>>> )
>>>>
>>>> These are the fields that the user uses to log in. The password isn't 
>>>> even hashed. When I print_r, it displays the actual password. I would like 
>>>> to have access to other user info like an ID or role. Do I need to use my 
>>>> own query to get this info or should the Auth Component be grabbing that 
>>>> stuff for me?.
>>>>  
>>>>  -- 
>>>> Our newest site for the community: CakePHP Video Tutorials 
>>>> http://tv.cakephp.org 
>>>> Check out the new CakePHP Questions site http://ask.cakephp.org and 
>>>> help others with their CakePHP related questions.
>>>>  
>>>>  
>>>> To unsubscribe from this group, send email to
>>>> [email protected] For more options, visit this 
>>>> group at http://groups.google.com/group/cake-php
>>>>
>>>>  
>>>>  -- 
>>> Our newest site for the community: CakePHP Video Tutorials 
>>> http://tv.cakephp.org 
>>> Check out the new CakePHP Questions site http://ask.cakephp.org and 
>>> help others with their CakePHP related questions.
>>>  
>>>  
>>> To unsubscribe from this group, send email to
>>> [email protected] For more options, visit this 
>>> group at http://groups.google.com/group/cake-php
>>>
>>>
>>>   -- 
> Our newest site for the community: CakePHP Video Tutorials 
> http://tv.cakephp.org 
> Check out the new CakePHP Questions site http://ask.cakephp.org and help 
> others with their CakePHP related questions.
>  
>  
> To unsubscribe from this group, send email to
> [email protected] For more options, visit this group 
> at http://groups.google.com/group/cake-php
>
>
> 

-- 
Our newest site for the community: CakePHP Video Tutorials 
http://tv.cakephp.org 
Check out the new CakePHP Questions site http://ask.cakephp.org and help others 
with their CakePHP related questions.


To unsubscribe from this group, send email to
[email protected] For more options, visit this group at 
http://groups.google.com/group/cake-php

Reply via email to