Авторизация 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');