Phân quyền (authorization) quý khách trên các trang web không còn xa lạ với chúng ta ở đây, việc xác thực trong Laravel cũng khá đơn giản với Laravel Authentication, chúng ta cũng khả năng cao tận dụng các hệ thống khác giống như Internet xã hội để xác minh.
Laravel authorization
Laravel authorization middleware
Trong Laravel authorization middleware, thường hay dùng session guard hoặc token guard. Session guard duy trì trạng thái khách hàng trong mỗi lần request bằng cookie. Token guard xác thực khách hàng bằng cách đánh giá token hợp lệ 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 xác minh nếu một người dùng được xác thực để thực hiện một hành động, nó được khái niệm trong AppProvidersAuthServiceProvider dùng facade Gate.
/**
* Register any authentication / authorization services.
*
* @return void
*/
public function boot()
$this->registerPolicies();
Gate::define('update-post', function ($user, $post)
return $user->id == $post->user_id;
);
Gate cũng có lẽ khái niệm dùng dạng callback string như Controller:
/**
* Register any authentication / authorization services.
*
* @return void
*/
public function boot()
$this->registerPolicies();
Gate::define('update-post', 'PostPolicy@update');
Resource Gates Bạn thường xuyên định nghĩa đa dạng Gate dùng phương thức resource
Gate::resource('posts', 'PostPolicy');
Nguyễn Văn Hải (hostmail.vn)
Với hơn 5 năm thực chiến Python, PHP 6 năm kinh nghiệm trong quản trị website tư vấn giải pháp SEO từ khóa, Kinh doanh online tối ưu nhất cho doanh nghiệp.
Hiện đang là quản lý kinh doanh tại Siêu Tốc Việt.