2012-04-17 12 views
5

Sto cercando di spostare il mio codice da locale a server di quando provo ad entrare nell'applicazioneL'autorizzazione non è stata trovata in 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')); 
     } 
    } 

Grazie per l'aiuto

risposta

12

La parte in cui si autorizzano i controller nel proprio beforeFilter deve essere in maiuscolo correttamente:

Quindi:

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

Invece di:

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

Quel particolare affermazione cerca di trovare controllerAuthorize.php e dovrebbe essere alla ricerca di ControllerAuthorize.php. Questo non causa problemi su Windows, ma su sistemi Unix.

+0

Come posso perdere questi piccoli problemi. hai fatto il mio giorno uomo –

+1

Sembra che il vecchio detto "il diavolo sia nei dettagli" è ancora vero. E tu sei il benvenuto ;) – mensch

+2

Va anche notificato su Mac OS X. Basta dire '... ^^ –

Problemi correlati