繁体   English   中英

cakePHP卡在Auth的日志页面上

[英]cakePHP stuck on logging page with Auth

我这里有问题。 我使用cakePHP的Bake功能创建了一个cakePHP应用程序。 我烘焙了我的模型,我的控制器和我的视图(使用默认索引,添加,编辑和查看操作)。 我在我的数据库中创建了一个名为users的小表,它只包含三个字段(id int auto_increment primary key,username varchar(15),password charr(40))。 我遇到的问题是,当我使用Auth组件时,我会永远陷入日志记录页面(直到我把它拿出来)。 我在我的函数login()和beforeFilter()中尝试了几乎所有的一切,但都没有成功。 有什么好主意吗?

我在用户控制器中使用Auth组件:

var $components = array('Auth');

我在我的函数beforeFilter()中尝试了这个,但它不起作用:

function beforeFilter() {
    $this->Auth->autoRedirect = false;
    parent::beforeFilter();
}

我甚至尝试在我的函数login()中重定向,如下所示:

function login() {
    $this->redirect($this->Auth->redirect());
}

但是当我这样做时,我得到错误310:太多的重定向。

我无法转到我的索引,添加或查看页面。 请帮助?

在您提供的代码中,如果您尚未登录,则似乎无法执行任何操作以使“登录”操作可访问。

function beforeFilter()
{
    parent :: beforeFilter();

    $this->Auth->allow('login');
}

如果您不这样做,登录页面将受到保护,您将重定向到...登录页面,使您重定向到...登录页面,使您重定向到...登录页面,使您重定向到...登录页面;-)

这段代码让你陷入无限循环,因为它会一直将你重定向到登录页面:

function login() {
    $this->redirect($this->Auth->redirect());
}

在此处阅读Auth组件变量列表 特别是loginRedirect部分。 您需要将它放入beforeFilter函数中:

function beforeFilter() {
    parent::beforeFilter();
    $this->Auth->loginRedirect = array('controller' => 'users', 'action' => 'index');
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM