在CakePHP中自动登录

时间:2009-09-24 09:57:21

标签: cakephp components authentication

我正在使用不同用户的注册表格?新用户登录后,注册用户应重定向到登录后页面。我们使用Auth组件进行身份验证。

我该怎么做?

4 个答案:

答案 0 :(得分:6)

如果您希望用户在注册后自动登录,您可以使用AuthComponent的login()方法。

if ($this->User->save($this->data)) {
    $this->Auth->login($this->data);
}

答案 1 :(得分:3)

在较新的Cakes上,您只需要添加

$this->Auth->login();
将用户添加到数据库后

答案 2 :(得分:0)

我不确定问题是什么,但听起来你想知道如何在成功登录后将用户发送到某个地方。如果这是正确的,试试这个:

$this->Auth->loginAction = array (
   'controller' => 'whichever_controller',
   'action'     => 'desired_action',
   'admin'      => true
);

如果您未访问/admin/whichever_controller/desired_action,则可能不需要 admin 键。

答案 3 :(得分:0)

您必须从注册操作中手动调用登录方法。

在数组中保存用户名+未使用的密码,然后在保存后从方法中调用它,如下所示:

$data = array('username' => 'user', 'password' => $unhashedPw);
$this->User->login($data);