Перенаправление на именованный маршрут с использованием промежуточного программного обеспечения страница не найдена - PullRequest
0 голосов
/ 21 сентября 2018

В моем файле web.php есть следующие маршруты:

Route::get('/', 'PostsController@index')->name('home');
Route::get('/login', 'SessionsController@show');

В классе SessionController есть открытый конструктор, который использует промежуточное ПО Laravel для проверки, является ли пользователь гостем:

namespace App\Http\Controllers;
use Illuminate\Http\Request;

class SessionsController extends Controller
{
    public function __construct() {
        $this->middleware('guest')->except(['destroy']);

    public function create() {

        // Validade form data
        $this->validate(request(), [
            'email' => 'required',
            'password' => 'required'
        ]);

        // Attempt to authenticate the user
        if(! auth()->attempt(request(['email', 'password']))) {
            return back()->withErrors([
                'message' => 'Please check you credentials and try again'
            ]);
        }
        return redirect()->home();
    }
    public function show() {
        return view('login.show');
    }

    public function destroy() {
        auth()->logout();
        return redirect()->home();
        //return redirect()->route('home');
    }
}

Что происходит, когда я вхожу в систему и пытаюсь получить доступ к /login, меня перенаправляют на home, но в браузере появляется сообщение "извините, страница не найдена".Я понял, что промежуточное программное обеспечение проверяет, являюсь ли я гостем, когда пытаюсь войти в систему, и если я не являюсь им, оно должно перенаправить меня на рецензируемую страницу.

Я проверил php artisan route:list и вижу, что / присвоено имя home.У меня нет идей, и я буду признателен за любую помощь.

1 Ответ

0 голосов
/ 21 сентября 2018

Попробуйте это

return redirect()->route('home');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...