2009-12-18 19 views

Respuesta

13

Copia el archivo pages_controller.php en la torta/libs/controladores a su app/controllers/dir. Luego puedes modificarlo para hacer lo que quieras. Con el componente de autenticación, la manera típica para permitir el acceso específica es la siguiente:

class PagesController extends AppController { 
... 
function beforeFilter() { 
    $this->Auth->allow('action1', 'allowedAction2'); 
} 
... 

Recomiendo altamente copiar el archivo a su controladores dir, en lugar de editar en su lugar, ya que hará que la actualización de la torta mucho más fácil, y es menos probable que accidentalmente sobrescriba algunas cosas.

+3

$ this-> Auth-> allow ('*'); funcionará bien también – Wayne

+0

Es cierto, aunque eso permitirá todas las acciones en el controlador de páginas. Creo que el OP dijo que quería permitir el acceso a todos, pero solo a vistas específicas en la PC. –

+0

@Wayne ¿De verdad? Es como volar en avión sin cobertura. –

11

Puede agregar lo siguiente a su app_controller.

function beforeFilter() { 
    if ($this->params['controller'] == 'pages') { 
    $this->Auth->allow('*'); // or ('page1', 'page2', ..., 'pageN') 
    } 
} 

Entonces no tiene que hacer una copia del controlador de páginas.

5

No he probado los otros modos, pero esta es también la manera correcta para permitir el acceso a todas esas páginas estáticas como pantalla es que la acción común. En app_controller:

//for all actions  
$this->Auth->allow(array('controller' => 'pages', 'action' => 'display')); 

//for particular actions 
$this->Auth->allow(array('controller' => 'pages', 'action' => 'display', 'home')); 
$this->Auth->allow(array('controller' => 'pages', 'action' => 'display', 'aboutus')); 
Cuestiones relacionadas