Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
2
respostas

Autenticação CakePHP

Não consigo fazer nem a autenticação das dos métodos restritos da minha classe Usuários, nem a parte de login.

Arquivo: UsersController

class UsersController extends AppController{

      public function beforeFiter(Event $event){
          parent::beforeFiter($event);

          $this->Auth->allow(['adicionar','salvar']);
      }

Arquivo: AppController

    public function initialize()
    {
        //parent::initialize();

        $this->loadComponent('RequestHandler');
        $this->loadComponent('Flash');
        $this->loadComponent('Auth',[
            'loginRedirect' =>[
                'controller' => 'Produtos',
                'action' => 'index'
            ],
            'logoutRedirect' => [
                'controller' => 'Users',
                'action' => 'login'   
            ]    
        ]);  
    }

Método login:

public function login(){
            if($this->request->is('post')){
                $user = $this->Auth->identify();
                if($user){
                    $this->Auth->setUser($user);
                    return $this->redirect($this->Auth->redirectUrl());
                }else{
                    $this->Flash->set("Usuário ou senha inválidos.");
                }
            }
      }
2 respostas
solução!

Oi João,

Percebi um typo no seu código.

Mude de beforeFiter para beforeFilter tanto no seu método de UsersController quanto na chamada do parent.

Abraço!

Além do typo, talvez outra coisa que possa estar faltando (não sei dizer ao certo porque você talvez não tenha postado todo o seu código), mas você precisa dar um use nas classes que você está usando:

use App\Controller\AppController;
use Cake\Event\Event;

class UsersController extends AppController{

Abs