Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Problema Route /login

Criei um controller chamado LoginController, nele coloquei os métodos form e login:

class LoginController extends Controller
{
    public function form(){
        return view('form_login');
    }
    public function login(){
      $credenciais = Request::only('email','password');

      if(Auth::attempt($credenciais)){
        return 'Usuário logado';
      }
      return 'dados incorretos';
    }
}

O problema é quando vou definir a rota para chamar esses métodos estou executando a rota assim:

Route::get('/login', 'LoginController@form');

Route::post('/login', 'LoginController@login');

O que acontece é que quando vou para url /login além de chamar meu método @form, ele direciona para o login que já vem do laravel, não sendo possivel eu direcionar para meu form que criei para isso, se eu altero a rota para /login1 o código funciona normalmente mas não sei como deixo igual no video, pois quando executo o middleware ele direciona para login mesmo quando estou logado.

att

2 respostas

Oi Felipe, tudo bom?

Qual versão do laravel você está utilizando? Se for uma versão maior ou igual a 5.2.27, o laravel traz por padrão um middleware para todas as rotas chamado Web, como a gente faz na mão esse processo pode dar conflito mesmo. Tenta remover a middleware web do no routes.php:

protected function mapWebRoutes(Router $router)
{
    $router->group([
        'namespace' => $this->namespace, 'middleware' => 'web',
    ], function ($router) {
        require app_path('Http/routes.php');
    });
}

Qualquer problema é só falar.

Abraço!

solução!

Obrigado pelo retorno André. Estou usando a versão mais recente do laravel e o que aconteceu foi que quando fui testar o login e o cadastro deles, o laravel já cria uma rota no meu arquivo assim:

Auth::routes();

E por padrão defiine que o /login envia para o login deles, então apenas apagando essa rota consegui resolver o problema, Obrigado!