2012-04-17 7 views
5

Estoy intentando mover el código desde el local al servidor cuando intento iniciar sesión en la aplicaciónadaptador de autorización no se encontró en CakePHP

enter image description here

Here is my AppController 
class AppController extends Controller{ 
    /* Determines what logged-in users access to */ 
    var $components = array('Auth','Session'); 

    public function isAuthorized($user){ 
     return true; 
    } 

    public function beforeFilter(){ 
     $userdetails = array(); 
     $this->Auth->autoRedirect = false; 
     $this->Auth->loginAction = array('controller' => 'users', 'action' => 'login'); 
     $this->Auth->loginRedirect = array('controller' => 'matches', 'action' => 'index'); 
     $this->Auth->authorize = 'controller'; 
     $this->Auth->authError= 'You need permissions to access this page'; 
     $this->Auth->allow('users'); 
     $this->set('Auth',$this->Auth); 
     $userdetails = $this->Auth->user(); 
     $this->set('myUser', $userdetails['username']); 
     $this->set('myRole', $userdetails['user_role_id']); 
     $this->set('pStatus', $userdetails['password_status']); 
    } 
} 


Here is my Login Action in UsersController 
public function login(){ 
     $this->Auth->autoRedirect = false; 
     $id = $this->Auth->user('id'); 
     if(empty($id)){ 
      if($this->request->is('post')){ 
       if($this->Auth->login()){ 
        $this->redirect($this->Auth->redirect()); 
       }else{ 
        $this->Session->setFlash('Invalid Username or password'); 
       } 
      } 
     }else{ 
      $this->redirect(array('action'=>'index')); 
     } 
    } 

Gracias por la ayuda

Respuesta

12

La parte donde autoriza los controladores en su beforeFilter debe escribirse en mayúscula correctamente:

Así:

$this->Auth->authorize = 'Controller';

En lugar de:

$this->Auth->authorize = 'controller';

Esa declaración particular, trata de encontrar controllerAuthorize.php y debe estar buscando ControllerAuthorize.php. Esto no causa un problema en Windows, pero sí en los sistemas Unix.

+0

¿Cómo puedo perder estos pequeños problemas. Hizo mi día hombre –

+1

Parece que el viejo dicho "el diablo está en los detalles" sigue siendo cierto. Y eres bienvenido. ;) – mensch

+2

También pasa desapercibido en Mac OS X. Solo digo '... ^^ –

Cuestiones relacionadas