我是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?
此致 巴鲁
答案 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是对的,但我可以看到你的挫败感,所以这应该是你的即时满足感。