網路上大部分驗證登入資訊都是用 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');
}