Cakephp登录重定向问题

时间:2011-11-02 19:13:45

标签: cakephp

我是CakePHP的新手。我正在尝试创建一个登录页面。我能够创建一个登录页面。我有登录重定向的问题。当我提交登录凭据时,我将重定向到包含以下文本的页面。

甜蜜,“App”被CakePHP烘焙了! 您的tmp目录是可写的。 FileEngine用于缓存。要更改配置编辑APP / config / core.php 您的数据库配置文件存在。 Cake可以连接到数据库。

但是,这不正确。在我的app_controller中,我编写了代码以重定向到不同的页面,如下所述:

function beforeFilter() {
    //Configure AuthComponent
    $this->Auth->authorize = 'actions';
    $this->Auth->actionPath = 'controllers/';
    $this->Auth->loginAction = array('controller' => 'users', 'action' => 'login');
    $this->Auth->loginRedirect = array('controller' => 'patients', 'action' => 'index');
    $this->Auth->logoutRedirect = array('controller' => 'users', 'action' => 'login');
}

我需要做什么才能重定向到/ patients / index?

此致 巴鲁

2 个答案:

答案 0 :(得分:0)

我将首先引用蛋糕书的一部分:

  

loginRedirect

     

AuthComponent会记住您的控制器/操作对   在你被要求通过身份验证之前试图去   将此值存储在Auth.redirect键下的Session中。   但是,如果未设置此会话值(如果您要进入   例如,从外部链接登录页面,然后用户将是   重定向到loginRedirect中指定的URL。

说到这一点,你可能会发现,如果你是从你的程序中的一个页面来的,它会在那之后去那里。

你可以做什么,你可以对authComponent说不要自动重定向你管理这部分,怎么做?像这样:

1)在beforeFilter中写这个

$this->Auth->autoRedirect = false;

2)在你的控制器的登录操作中,这是什么

if ($this->Auth->user()) {
   $this->redirect('url');
}

url可以是绝对的,也可以是你在书中看到的cakephp数组,这个代码只有在登录验证完成后才能执行...你可以做任何其他你需要的东西,比如上次登录尝试成功或类似的东西

希望这适合你:)

答案 1 :(得分:0)

在config-> routes.php中将第一行更改为此....

Router::connect('/', array('controller' => 'patients', 'action' => 'index'));

api55是对的,但我可以看到你的挫败感,所以这应该是你的即时满足感。