Bài giảng Phát triển phần mềm nguồn mở: Bài 14 - Nguyễn Hữu Thể
Số trang: 9
Loại file: pdf
Dung lượng: 467.30 KB
Lượt xem: 22
Lượt tải: 0
Xem trước 1 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Middleware cung cấp một cơ chế thuận tiện để lọc các HTTP Request vào ứng dụng của bạn. Ví dụ: Laravel bao gồm một Middleware xác minh người dùng truy cập vào ứng dụng của bạn. Nếu người dùng không được xác thực, Middleware sẽ chuyển hướng người dùng đến màn hình đăng nhập. Ngược lại, nếu người dùng được xác thực, Middleware sẽ cho phép Request tiếp tục vào ứng dụng. Bài giảng này sẽ trình bày một số nội dung cơ bản về Middleware trong laravel trong Laravel, mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Phát triển phần mềm nguồn mở: Bài 14 - Nguyễn Hữu Thể PHÁT TRIỂN PHẦN MỀM NGUỒN MỞ Middleware Nguyễn Hữu Thể Middleware − Bộ lọc: Trung gian giữa request và response ➢ Ví dụ: Xác nhận người dùng đã xác thực chưa, nếu người dùng đã qua xác thực sẽ được chuyển hướng. Image from: http://kienthuclaptrinh.info/2018/12 2 Tạo Middleware − Để tạo mới một middleware, sử dụng lệnh make:middleware ❖ Ví dụ: php artisan make:middleware CheckAge ✓ Câu lệnh này sẽ tạo ra class CheckAge bên trong thư mục app/Http/Middleware. ✓ Trong middleware này, chúng ta chỉ cho phép truy cập vào route nếu giá trị age lớn hơn 200. Ngược lại, chúng ta sẽ chuyển hướng request lại trang home URI. 3 Middleware – Ví dụ: CheckAge namespace App\Http\Middleware; use Closure; class CheckAge{ public function handle($request, Closure $next){ if ($request->age Đăng ký Middleware ❖ Global Middleware Thêm tên class của middleware trong thuộc tính $middleware của class app/Http/Kernel.php ❖ Đăng ký Middleware vào Routes Gán middleware cho route cụ thể: Thêm middleware vào thuộc tính $routeMiddleware trong file app/Http/Kernel.php protected $routeMiddleware = [ 'auth' => \Illuminate\Auth\Middleware\Authenticate::class, 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, 'can' => \Illuminate\Auth\Middleware\Authorize::class, 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 'checkage' => \App\Http\Middleware\CheckAge::class, ]; 5 Gán Middleware Khi middleware đã được định nghĩa trong HTTP kernel => sử dụng phương thức middleware gán cho một route: Route::get('/', function () { // })->middleware('first', 'second'); Ví dụ: // Middleware Route::get ( 'age', function () { echo 'Bạn đã nhập tuổi'; } )->middleware('checkage');//truyền vào định danh đã khai báo trong Kernel Route::get ( 'no_age', function () { echo 'Vui lòng nhập lại tuổi'; } )->name('error'); 6 CÁC BƯỚC THIẾT LẬP MIDDLEWARE 1. Lệnh tạo Middleware 2. Đăng ký Middleware 3. Viết xử lý cho phương thức handle() trong Middleware 4. Viết các Route thông báo 5. View nhập… 7 1. Lệnh tạo php artisan make:middleware CheckAge Middleware 2. Đăng ký protected $routeMiddleware = [//…, 'checkage' => Middleware \App\Http\Middleware\CheckAge::class]; 3. Viết xử lý class CheckAge{ cho phương public function handle($request, Closure $next){ thức handle() if($request->has('age') && $request['age'] >= 20) trong return $next($request); Middleware else return redirect()->route('error'); } } 4. Viết các Route thông Route::get ( 'age', function () { echo 'Bạn đã nhập tuổi'; báo } )->middleware('checkage');//định danh khai báo trong Kernel Route::get ( 'no_age', function () { echo 'Vui lòng nhập lại tuổi'; } )->name('error'); Nhập số tuổi Route::get ( 'input_age', function () { return view('input_age'); } )->name('input_age'); 5. View nhập… 8 http://localhost/.../public/input_age
Nội dung trích xuất từ tài liệu:
Bài giảng Phát triển phần mềm nguồn mở: Bài 14 - Nguyễn Hữu Thể PHÁT TRIỂN PHẦN MỀM NGUỒN MỞ Middleware Nguyễn Hữu Thể Middleware − Bộ lọc: Trung gian giữa request và response ➢ Ví dụ: Xác nhận người dùng đã xác thực chưa, nếu người dùng đã qua xác thực sẽ được chuyển hướng. Image from: http://kienthuclaptrinh.info/2018/12 2 Tạo Middleware − Để tạo mới một middleware, sử dụng lệnh make:middleware ❖ Ví dụ: php artisan make:middleware CheckAge ✓ Câu lệnh này sẽ tạo ra class CheckAge bên trong thư mục app/Http/Middleware. ✓ Trong middleware này, chúng ta chỉ cho phép truy cập vào route nếu giá trị age lớn hơn 200. Ngược lại, chúng ta sẽ chuyển hướng request lại trang home URI. 3 Middleware – Ví dụ: CheckAge namespace App\Http\Middleware; use Closure; class CheckAge{ public function handle($request, Closure $next){ if ($request->age Đăng ký Middleware ❖ Global Middleware Thêm tên class của middleware trong thuộc tính $middleware của class app/Http/Kernel.php ❖ Đăng ký Middleware vào Routes Gán middleware cho route cụ thể: Thêm middleware vào thuộc tính $routeMiddleware trong file app/Http/Kernel.php protected $routeMiddleware = [ 'auth' => \Illuminate\Auth\Middleware\Authenticate::class, 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, 'can' => \Illuminate\Auth\Middleware\Authorize::class, 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 'checkage' => \App\Http\Middleware\CheckAge::class, ]; 5 Gán Middleware Khi middleware đã được định nghĩa trong HTTP kernel => sử dụng phương thức middleware gán cho một route: Route::get('/', function () { // })->middleware('first', 'second'); Ví dụ: // Middleware Route::get ( 'age', function () { echo 'Bạn đã nhập tuổi'; } )->middleware('checkage');//truyền vào định danh đã khai báo trong Kernel Route::get ( 'no_age', function () { echo 'Vui lòng nhập lại tuổi'; } )->name('error'); 6 CÁC BƯỚC THIẾT LẬP MIDDLEWARE 1. Lệnh tạo Middleware 2. Đăng ký Middleware 3. Viết xử lý cho phương thức handle() trong Middleware 4. Viết các Route thông báo 5. View nhập… 7 1. Lệnh tạo php artisan make:middleware CheckAge Middleware 2. Đăng ký protected $routeMiddleware = [//…, 'checkage' => Middleware \App\Http\Middleware\CheckAge::class]; 3. Viết xử lý class CheckAge{ cho phương public function handle($request, Closure $next){ thức handle() if($request->has('age') && $request['age'] >= 20) trong return $next($request); Middleware else return redirect()->route('error'); } } 4. Viết các Route thông Route::get ( 'age', function () { echo 'Bạn đã nhập tuổi'; báo } )->middleware('checkage');//định danh khai báo trong Kernel Route::get ( 'no_age', function () { echo 'Vui lòng nhập lại tuổi'; } )->name('error'); Nhập số tuổi Route::get ( 'input_age', function () { return view('input_age'); } )->name('input_age'); 5. View nhập… 8 http://localhost/.../public/input_age
Tìm kiếm theo từ khóa liên quan:
Phần mềm nguồn mở Phát triển phần mềm nguồn mở Tạo Middleware Middleware trong Laravel Lệnh tạo Middleware Đăng ký MiddlewareTài liệu có liên quan:
-
183 trang 324 0 0
-
'Phần mềm tự do và phần mềm nguồn mở' Free and Open Source Software – Asia-Pacific Consultation
5 trang 141 0 0 -
Xây dựng hệ thống tích hợp liên tục nội bộ sử dụng công cụ nguồn mở Jenkins và Gitlab
11 trang 96 0 0 -
25 trang 50 0 0
-
Bài giảng Phần mềm nguồn mở: Bài 3 - Đoàn Thiện Ngân
12 trang 50 0 0 -
Bài giảng Phần mềm nguồn mở: Bài 1 - Đoàn Thiện Ngân
29 trang 49 0 0 -
Giáo trình Nhập môn quản trị hệ thống Linux
145 trang 49 0 0 -
Bài giảng Nhập môn công nghệ thông tin và truyền thông: Bài 7 - GV. Lê Thanh Hương
29 trang 43 0 0 -
Bài giảng Phần mềm nguồn mở: Bài 4 - Đoàn Thiện Ngân
10 trang 37 0 0 -
Bài giảng Phần mềm nguồn mở: Bài 5 - Đoàn Thiện Ngân
9 trang 36 0 0