3
respostas

Dúvida no Ex. 3 da Aula 4 - Autenticação e segurança

Boa noite pessoal,

Estou com um problema no momento de executar o logout, ele simplesmente não faz o logout. Nem mesmo se elu digitar o path http://localhost:8000/auth/logout

Segue abaixo o arquivo de rotas e LoginController.

Route::controllers([
    'auth' => 'Auth\AuthController',
    'password' => 'Auth\PasswordController',
]);
Route::get('/login', 'LoginController@form');
Route::post('/login', 'LoginController@login');
Route::get('/', 'ProdutoController@lista');
Route::get('/produtos', 'ProdutoController@lista');
Route::get('/produtos/mostra/{id}', 'ProdutoController@detalhe');
Route::get('/produtos/remove/{id}', 'ProdutoController@remove');
Route::get('/produtos/novo/', 'ProdutoController@novo');
Route::post('/produtos/adiciona', 'ProdutoController@adiciona');
class LoginController extends Controller
{
    public function form(){
        return view('form_login');
    }

    public function login(){
        $credenciais = Request::only('email','password');

        if(Auth::attempt($credenciais)){
            return redirect('\produtos');
        }

        return "Usuário não existe.";
    }
}

Agradeço a quem puder me ajudar.

3 respostas

eu acho que a url é so /logout porem você pode implementa ro seu é só colocar em uma rota e chamar o Auth::logout(). espero ter ajudado

Se você estiver usando a versão 5.3 do laravel, o a rota para o logout é /logout e deve ser feita via POST.

Tente alterar o seu principal.blade.php para:

@if (Auth::guest())
  <li><a href="/login">Login</a></li>
  <li><a href="/register">Register</a></li>
@else
  <li><a href="#">{{ Auth::user()->name }}</a></li>
  <li>
    <a href="{{ url('/logout') }}" onclick="event.preventDefault(); document.getElementById('logout-form').submit();"> Logout </a>
    <form id="logout-form" action="{{ url('/logout') }}" method="POST" style="display: none;">
      {{ csrf_field() }}
    </form>
  </li>
@endif

Caso seja o Laravel 5.3 podes tentar por assim no teu blade

<a href="{{ url('auth/logout') }}">

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