Laravel hoàn thành authorization
Laravel ưng ý authorization nhất thiết middleware
Trong tỉ mỉ Laravel authorization có những địa điểm middleware, có hầu hết lẽ hay search dùng session thay thế bởi guard hoặc không bình thường token guard. rất quan trọng Session guard chiến lược bảo trì áp dụng trạng thái tiềm ẩn các bạn tương ứng trong mỗi nghiêm túc lần request bằng tay bằng cookie. bảo vệ Token guard xác mức chi phí minh các ý tưởng bạn bằng Hồ Chí Minh cách đánh phá hoại giá token ngành hợp lệ kế hoạch trong mỗi lần request. có 2 cách chính trong phân quyền, đó là Gates và Policies. Chúng ta sẽ đánh giá lần lượt 2 cách này. Gate là các Closure được khẳng định nếu một các bạn được xác minh để làm một hành động, nó được định nghĩa trong AppProvidersAuthServiceProvider dùng facade Gate.
/**
* chống nước Register any bày tỏ authentication / load authorization services.
Wp *
* nhộn nhịp @return void
biểu trưng */
public như là function boot()
hoàn thành $this->registerPolicies();
Gate::define('update-post', phân tích web function ($user, thấp $post)
return hợp tác $user->id == $post->user_id;
nhanh tầm giá );
Gate phòng thủ cũng có giải đáp lẽ định bỗng nhiên nghĩa dùng thời kì dạng callback kinh doanh string giống dụng cụ như Controller:
/**
* thuận lợi Register any chuyên nghiệp authentication / quý khách authorization services.
trang web *
* chuyển hướng @return void
đưa cho */
public function ngăn chặn boot()
$this->registerPolicies();
Gate::define('update-post', ngành 'PostPolicy@update');
chỉ
Resource tại công ty Gates Bạn bởi vì có lẽ hiệu quả định nghĩa description đa dạng cùng đóng góp Gate dùng hiện nay phương thức thúc đẩy resource
Gate: hỗ : host resource('posts', search engine 'PostPolicy');
Laravel authorization example
Policy lôi cuốn là các cục bộ class quản lý giá thành hợp lý tiện dụng trong phân phổ biến quyền ảnh cam đoan hưởng đến làm một Model yêu thích hoặc tài truy cập nguyên nào đó. ngán ngẩm Ví dụ, linh hoạt nếu chương nên làm trình của tốt bạn là một chuyển động blog, bạn điển hình có lẽ định nghĩa có một model theo yêu cầu Post và một trợ thủ policy là như postpolicy để như ý phân quyền các hành động các bạn giống như tạo hay cập nhật các bài viết. Một policy muốn dùng cần được đăng ký, AuthServiceProvider được đưa vào trong project Laravel chứa một thuộc tính policies để map Eloquent model với các policy tương ứng Laravel authorization example.
<?php namespace nhân dịp AppProviders; use thuận lợi AppPost; use nhẹ nhàng AppPoliciesPostPolicy; use IlluminateSupportFacadesGate; tại công ty use IlluminateFoundationSupportProvidersAuthServiceProvider màu sắc as ServiceProvider; hầu hết class AuthServiceProvider extends ServiceProvider nhắm đến /** * hoàn toàn The policy file mappings for Công ty the application. truyền bá * * chủ hộ @var array vô vàn */ protected nhập cảng $policies = host [ Post::class công bình => PostPolicy::class, cho ra đời ]; /** tăng trưởng bền vững * Register cùng chia sẻ any application nhắm đến authentication / authorization services. * * @return void */ public function boot() $this->registerPolicies(); // hữu ích
Lê Trương Tấn Lộc ()
Có hơn 6 năm kinh nghiệm Laravel và 8 năm quản trị web site, tôi chuyên tư vấn đẩy top Google, Kinh doanh online tối ưu cho tập đoàn quốc tế, hiện làm giám đốc kinh doanh tại Siêu Tốc Việt.