Session 不存在導向登入頁

網路上大部分驗證登入資訊都是用 Auth

但是我沒有用資料庫,身分驗證是在另一台主機上

所以改用 Session 的登入狀態來判斷是否要導向登入頁面

先在 app\Http\Middleware 建立新檔案 CheckUserSession.php

<?php
namespace App\Http\Middleware;
use Closure;
class CheckUserSession
{
public function handle($request, Closure $next)
{
if (!$request->session()->exists('user')) {
return redirect('login');
}
return $next($request);
}
}

然後在 app\Http\Kernel.php 中的 $routeMiddleware 陣列新增一項

'usersession' => \App\Http\Middleware\CheckUserSession::class

然後有兩個方式

在 routes\web.php 新增 middleware

Route::get('/','HomeController@index')->middleware('usersession'); 

或是在 app\Http\Controllers\HomeController.php 中新增

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