弹出登录Cakephp 3

时间:2016-05-16 07:39:47

标签: cakephp-3.0

如果我在home.ctp中创建一个链接到login.ctp的按钮,我可以执行登录功能。 但是,如果登录输入在home.ctp中,我无法使其工作。 UsersController中的登录功能:

textView

在home.ctp中,我使用登录模式:

public function beforeFilter(Event $event)
{
    parent::beforeFilter($event);
    // Allow users to register and logout.
    // You should not add the "login" action to allow list. Doing so would
    // cause problems with normal functioning of AuthComponent.
    $this->Auth->allow(['add', 'logout', 'register']);
}

public function login()
{
    if ($this->request->is('post')) {
        $user = $this->Auth->identify();
        if ($user) {
            $this->Auth->setUser($user);
            return $this->redirect($this->Auth->redirectUrl());
        }
        $this->Flash->error(__('Invalid username or password, try again'));
    }
    $this->render('Pages/home');
}

我不确定在主页中提供登录输入时如何使登录工作。

1 个答案:

答案 0 :(得分:3)

似乎你没有设置表单的动作。这样,数据就会被发送到主页而不是登录操作。

echo $this->Form->create('User', 
[
    'class' => 'aa-login-form',
    'url' => ['controller' => 'users', 'action' => 'login']
]);

请参阅manual以供参考