Ich benutze CakePHP Auth-Komponente und es ist in meinem app_controller.php
.Wie auth von den Seiten Controller in CakePHP zu entfernen?
Jetzt möchte ich bestimmte Ansichten von den Seiten Controller zulassen. Wie mache ich das?
Ich benutze CakePHP Auth-Komponente und es ist in meinem app_controller.php
.Wie auth von den Seiten Controller in CakePHP zu entfernen?
Jetzt möchte ich bestimmte Ansichten von den Seiten Controller zulassen. Wie mache ich das?
Kopieren Sie die Datei pages_controller.php in cake/libs/controllers in Ihre app/controllers/dir. Dann können Sie es ändern, um alles zu tun, was Sie wollen. Mit der Auth Komponente, die typische Art und Weise spezifischer Zugang zu ermöglichen, ist wie folgt:
class PagesController extends AppController {
...
function beforeFilter() {
$this->Auth->allow('action1', 'allowedAction2');
}
...
Ich empfehle Kopieren hoch die Datei auf dem Controller dir, anstatt sie an Ort und Stelle bearbeiten, weil es Kuchen macht Upgrade wird viel einfacher, und weniger wahrscheinlich, dass Sie versehentlich etwas überschreiben.
Sie könnten Ihrem app_controller Folgendes hinzufügen.
function beforeFilter() {
if ($this->params['controller'] == 'pages') {
$this->Auth->allow('*'); // or ('page1', 'page2', ..., 'pageN')
}
}
Dann müssen Sie den Seitencontroller nicht kopieren.
Ich habe die anderen Möglichkeiten nicht ausprobiert, aber dies ist auch der richtige Weg, um Zugriff auf all diese statischen Seiten zu ermöglichen, da die Anzeige die übliche Aktion ist. In 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'));
$ this-> Auth-> erlauben ('*'); wird auch gut funktionieren. – Wayne
True, obwohl das alle Aktionen in den Seiten Controller erlaubt. Ich denke, das OP sagte, dass er allen den Zugriff erlauben wolle, aber nur bestimmte Ansichten im PC. –
@Wayne Wirklich? Es ist wie in einem Flugzeug ohne Deckung fliegen. –