Solucionado (ver solução)
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

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software