Berikut adalah nota yang saya susun semasa menonton video di laman web php Cina untuk rujukan anda. Berikut adalah beberapa pengetahuan asas Jika anda tidak biasa dengan pengetahuan asas, anda boleh lihat. Artikel terakhir yang saya kongsikan ialah tentang komposer memasang laravel Jika anda ingin melihat lebih banyak artikel, saya harap saya dapat membantu anda.
Perisian tengah sebenarnya menambah lapisan penapisan atau perlindungan pada penghalaan Awalan dan ruang nama dihantar sebagai parameter tatasusunan kumpulan, dan perisian tengah juga dihantar sebagai parameter tatasusunan kumpulan
1. Penulisan middleware
Sebelum menambah middlewareRoute::group(['prefix' => 'admin','namespace'=>'Admin'], function () { Rount::get('login','IndexController@login'); Rount::get('index','IndexController@index'); });
Route::group(['prefix' => 'admin','namespace'=>'Admin','middleware'=>['web']], function () { Rount::get('login','IndexController@login'); Rount::get('index','IndexController@index'); });
Route::get('/',function(){ session(['key'=>123]); return view('welcome'); });
Route::get('/test',function(){ echo session('key'); return 'test'; });
Route::group(['middleware'=>['web']], function () { Route::get('/',function(){ session(['key'=>123]); return view('welcome'); }); Route::get('/test',function(){ echo session('key'); return 'test'; }); });
akan digunakan 2. Tentukan secara manual perisian tengah log masuk awan pengurusan latar belakang dalam fail Kernel.php sendiri
Sebelum definisi:protected $routeMiddleware = [ 'auth' => \Illuminate\Auth\Middleware\Authenticate::class, 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, ];
protected $routeMiddleware = [ 'auth' => \Illuminate\Auth\Middleware\Authenticate::class, 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 'admin.login' => \App\Http\Middleware\AdminLogin::class, ];
php artisan make:middleware AdminLogin
<?php namespace App\Http\Middleware; use Closure class AdminLogin { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { echo 12344445; return $next($request); } }
Route::group(['middleware'=>['web','admin.login'],], function () { Route::get('/',function(){ session(['key'=>123]); return view('welcome'); }); Route::get('/test',function(){ echo session('key'); return 'test'; }); });
3. Pengesahan pentadbir super latar belakang
Route::group(['prefix' => 'admin','namespace'=>'Admin','middleware'=>'web'], function () { Rount::get('login','IndexController@login');//登录不需要后台管理员的超级认证 }); Route::group(['prefix' => 'admin','namespace'=>'Admin','middleware'=>'admin.login'], function () { Rount::get('index','IndexController@index');//超级管理员需要认证后才能进入欢迎页面和编辑页面 Rount::resource('article','ArticleController'); });
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; class IndexController extends Controller { public function index(){ return view('welcome'); } function login(){ session(['admin'=>1]); //登录信息用admin存储 return '<h1>登录<h1>' } }
dan kemudian lihat dalam folder Middleware AdminLogin.php fail
<?php namespace App\Http\Middleware; use Closure class AdminLogin { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { echo session('admin'); return $next($request); } }
Pengesahan:
Mari kita log masuk dahulu, dan kemudian lawati halaman selamat datang. Jika 1 adalah output, ini bermakna tetapan kami berjaya (apabila log masuk, 1 Simpan dalam sesi, dan kemudian masukkan halaman alu-aluan. Halaman alu-aluan akan memanggil AdminLogin.php perisian tengah,),Kami terus menetapkan adminlogin dari folder middleware. perkara penting yang perlu dilakukan Jika anda tidak faham apa-apa, anda boleh meninggalkan mesej. Terima kasih atas sokongan anda. Saya harap saya dapat membantu anda Jika anda ingin melihat maklumat lanjut, ikuti saya dan teruskan berkongsi dalam artikel seterusnya.
Atas ialah kandungan terperinci [Nota organisasi] Pengenalan dan penciptaan perisian tengah HTTP laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!