Sunday, January 6, 2013

Re: Cake 2.2 Auth login failure

I actually got that working by moving the code from the subdomain name to top level domain name.

Now I have a similar problem (another project) - I am using top level domain name on godaddy.com.

The code fails the authentication.

This is the AppController :


App::uses('Controller', 'Controller');

/**
 * Application Controller
 *
 * Add your application-wide methods in the class below, your controllers
 * will inherit them.
 *
 * @package       app.Controller
 * @link http://book.cakephp.org/2.0/en/controllers.html#the-app-controller
 */
class AppController extends Controller {
   public $components = array(
        'Acl',
        'Auth' => array(
            'authorize' => array(
                'Actions' => array('actionPath' => 'controllers')
            )
        ),
        'Session'
    );
    public $helpers = array('Html', 'Form', 'Session');

    public function beforeFilter() {
        //Configure AuthComponent
        $this->Auth->loginAction = '/users/login';//array('controller' => 'users', 'action' => 'login');
        $this->Auth->logoutRedirect = array('controller' => 'users', 'action' => 'login');
        $this->Auth->loginRedirect = array('/admin/testimonials');
    }
    
    
}


and this is the user controller that does the logging :

<?php
App::uses('AppController', 'Controller');
/**
 * Users Controller
 *
 * @property User $User
 */
class UsersController extends AppController {
  public $uses = array('User');
 

public $layout = "admin";

public function beforeFilter() {
   parent::beforeFilter();
   //$this->Auth->allow("*");
}
public function login() {
  $this->layout = "default";
   if ($this->request->is('post')) {
       if ($this->Auth->login()) {
           $this->redirect($this->Auth->redirect());
       } else {
           $this->Session->setFlash(__('Invalid username or password, try again'));
       }
   }
}
public function logout() {
   $this->redirect($this->Auth->logout());
}



/**
 * admin_index method
 *
 * @return void
 */
public function admin_index() {
$this->User->recursive = 0;
$this->set('users', $this->paginate());
}

/**
 * admin_view method
 *
 * @throws NotFoundException
 * @param string $id
 * @return void
 */
public function admin_view($id = null) {
$this->User->id = $id;
if (!$this->User->exists()) {
throw new NotFoundException(__('Invalid user'));
}
$this->set('user', $this->User->read(null, $id));
}

/**
 * admin_add method
 *
 * @return void
 */
public function admin_add() {
if ($this->request->is('post')) {
$this->User->create();
if ($this->User->save($this->request->data)) {
$this->Session->setFlash(__('The user has been saved'));
$this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash(__('The user could not be saved. Please, try again.'));
}
}
$groups = $this->User->Group->find('list');
$this->set(compact('groups'));
}

/**
 * admin_edit method
 *
 * @throws NotFoundException
 * @param string $id
 * @return void
 */
public function admin_edit($id = null) {
$this->User->id = $id;
if (!$this->User->exists()) {
throw new NotFoundException(__('Invalid user'));
}
if ($this->request->is('post') || $this->request->is('put')) {
if ($this->User->save($this->request->data)) {
$this->Session->setFlash(__('The user has been saved'));
$this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash(__('The user could not be saved. Please, try again.'));
}
} else {
$this->request->data = $this->User->read(null, $id);
}
$groups = $this->User->Group->find('list');
$this->set(compact('groups'));
}

/**
 * admin_delete method
 *
 * @throws MethodNotAllowedException
 * @throws NotFoundException
 * @param string $id
 * @return void
 */
public function admin_delete($id = null) {
if (!$this->request->is('post')) {
throw new MethodNotAllowedException();
}
$this->User->id = $id;
if (!$this->User->exists()) {
throw new NotFoundException(__('Invalid user'));
}
if ($this->User->delete()) {
$this->Session->setFlash(__('User deleted'));
$this->redirect(array('action' => 'index'));
}
$this->Session->setFlash(__('User was not deleted'));
$this->redirect(array('action' => 'index'));
}
}


I also have the Alexo's ACL plugin in place, but the pages, when trying to access, are blank.

Everything works fine locally.

I appreciate your help !

Thanks!

Martin

On Wednesday, January 2, 2013 12:29:32 PM UTC-5, Paulo Braga wrote:
Post your AppController and UsersController(login method), and a screenshot of your users table.

On Monday, December 31, 2012 11:40:48 PM UTC+2, Martin Halla wrote:
Hi,

I have this app that uses the Auth component for login Everything works on the local machine, but fails big time live at :


Can you tell me why ?

Here are more details :

password : password
acl plugin by alexo

Thanks!

--
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP
 
---
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 cake-php+unsubscribe@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php?hl=en.
 
 

No comments: