1. 程式人生 > >Laravel中介軟體

Laravel中介軟體

在Laravel有兩種型別的中介軟體:全域性中介軟體、路由中介軟體 $middleware屬性用於註冊全域性中介軟體,$routeMiddleware屬性用於註冊路由指定中介軟體。 1、建立一箇中間件

php  artisan make:middleware  CheckLogin

app\Http\Middleware資料夾中會自動生成CheckLogin.php檔案

namespace App\Http\Middleware;

use Closure;
use Auth;

class CheckLogin
{
    public function handle($request, Closure $next)
    {
        // 如果使用者未登入則跳轉到登陸頁面
        if (!Auth::guard('admin')->check()) {
            return redirect(route('admin.login.login'))->withErrors(['error' => '非法登陸']);
        }
        return $next($request);
    }
}

2、在app/Http/Kernel.php中註冊路由中介軟體

protected $routeMiddleware=[
	'admin_login' => \App\Http\Middleware\CheckLogin::class,
]

3、在路由配置routes/web.php中,對後臺模組使用中介軟體(登入相關頁面除外)

Route::group(['prefix'=>'admin','namespace'=>'Admin'], function () {
    Route::get('login', '[email protected]');

    // 中介軟體
    Route::group(['middleware' => 'checklogin'], function () {
        // 後臺首頁
		Route::get('index', '
[email protected]
')->name('admin.index.index'); }); });