Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 15.10.2017 14:48:11

Viktor92
Откуда: Москва
Сообщений: 26

Как сделать ридерект logout - на Login

Добрый День не могу разобраться с перенаправлением после того как выходишь из приложения. В данном случае это logout. Хочу сделать так что бы человек после выхода из приложения возвращался не на стартовую страницу - а в login. Пробывал менять роуты, после чего меня перенаправляло в логин где я уже зашёл. Кто подскажет как сделать так что бы после выхода из приложения переноправляло на форму логина.

web.php

// Логин и Выход.
$this->get('login', 'Auth\LoginController@showLoginForm')->name('login');
$this->post('login', 'Auth\LoginController@login');
$this->post('logout', 'Auth\LoginController@logout')->name('logout');

сама форма

<ul class="dropdown-menu" role="menu">
                                    <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>

LoginController

public function __construct()
    {
        $this->middleware('guest', ['except' => 'logout']);
    }
}

Не в сети

#2 15.10.2017 15:01:52

Re: Как сделать ридерект logout - на Login

Переопредели метод logout() в контроллере Auth\LoginController.php

public function logout(Request $request)
{
    $this->guard()->logout();

    $request->session()->invalidate();

    return redirect()->route('login');
}

Не в сети

#3 20.09.2018 20:19:09

Re: Как сделать ридерект logout - на Login

Почему то не могу переопределить этот метод, появляется ошибка : "Class App\Http\Controllers\Auth\Request does not exist". Прошу помощи!

Не в сети

#4 20.09.2018 20:28:59

Re: Как сделать ридерект logout - на Login

Потому что в примере Алексея не указан неймспейс у класса Request. Либо замените его на полное имя класса в заголовке функции, либо в начале файла сделайте use Illuminate\Http\Request


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

#5 20.09.2018 20:39:17

Re: Как сделать ридерект logout - на Login

Вот я балбеска, спасибо!

Не в сети

Подвал раздела