Авторизация Laravel

Есть кнопка "Личный кабинет", при нажатии на которую открывается форма авторизации. Как сделать, чтобы если пользователь уже автортзован, то по этой же кнопке он сразу переходил в личный кабинет?

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class HomeController extends Controller
{
    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('auth');
    }

    /**
     * Show the application dashboard.
     *
     * @return \Illuminate\Contracts\Support\Renderable
     */
    public function index()
    {
        return view('home');
    }
}


Ответы (1 шт):

Автор решения: Eugene

Наоборот. Делаешь переход в личный кабинет. А если пользователь не авторизован, то запускаешь авторизацию.

Если у тебя есть вот такой маршрут:

Route::get('/profile', 'ProfileController@index')->name('profile');

И вот такая кнопка:

<a href="{{ route('profile') }}">Личный кабинет</a>

То тебе осталось указать используемого посредника (middleware) - auth. Посредника можно указать либо в конструкторе контроллера (в моём примере это ProfileController):

public function __construct()
{
    $this->middleware('auth');
}

либо прямо в маршруте:

Route::get('/profile', 'ProfileController@index')->middleware('auth')->name('profile');
→ Ссылка