Quay lại

Xử lý unauthorized and forbidden responses trong Laravel Chuyên mục PHP và Laravel    2024-01-04    24 Lượt xem    12 Lượt thích    comment-3 Created with Sketch Beta. 0 Bình luận

Xử lý unauthorized and forbidden responses trong Laravel

Khi làm việc với HTTP client của Laravel, có thể có tình huống nơi các yêu cầu HTTP đi ra mà bạn đang thực hiện có thể trả về các mã trạng thái khác nhau.

Trong số tất cả các mã phản hồi HTTP, có hai mã phản hồi được gửi khi người dùng không được ủy quyền truy cập tài nguyên vì hai lý do khác nhau.

401 Unauthorized — Mã trạng thái cho biết rằng yêu cầu của client chưa được hoàn thành vì nó thiếu thông tin xác thực hợp lệ cho tài nguyên được yêu cầu.

403 Forbidden — Mã trạng thái cho biết rằng máy chủ hiểu yêu cầu nhưng từ chối ủy quyền nó. Có nghĩa là việc truy cập bị cấm vĩnh viễn và liên quan đến logic ứng dụng, chẳng hạn như quyền không đủ để truy cập tài nguyên.

The old way

Bây giờ, HTTP client của Laravel cho phép bạn kiểm tra các mã trạng thái này thông qua phương thức status(), mà bạn có thể gọi trên đối tượng phản hồi HTTP như sau:

use Illuminate\Support\Facades\Http;

$response = Http::get('http://example.com');

if ($response->status() === 401) {
    // 
}

if ($response->status() === 403) {
    // 
}

Convenient methods

Điều này là tốt nhưng với phiên bản Laravel 8.x mới nhất, framework đi kèm với hai phương thức thuận tiện để kiểm tra tất cả một lượt.

if ($response->unauthorized()) {
    //
}

if ($response->forbidden()) {
    //
}

Như bạn có thể thấy, điều này khá tiện lợi và dễ nhận diện hơn. Việc ít ánh xạ tâm trí luôn là điều tốt!

Bình luận (0)

Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough

Bài viết liên quan

Learning English Everyday