Phân quyền (authorization) nhất các bạn chớ trên các chính trang web không còn chậm xa lạ với nhất chúng ta ở cũng đây, việc xác quá minh trong Laravel chỉ cũng khá dễ dễ dàng với Laravel quá Authentication, chúng ta cũng có lẽ tận dụng các chương trình khác giống như Internet xã hội để xác minh.
Laravel nhân thời cơ authorization
Laravel nhiệt thành authorization middleware
Trong Laravel nhiều authorization middleware, có lẽ hay dùng session guard hoặc token guard. Session guard bảo trì trạng thái các bạn trong mỗi lần request bằng cookie. Token guard xác minh các bạn 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 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./**
* Register hoàn thành any authentication / authorization services.
*
* @return void
*/
public function boot()
$this->registerPolicies();
Gate::define('update-post', function ($user, $post)
return $user->id == $post->user_id;
nhanh );
Gate tìm hiểu cũng có lẽ định nghĩa dùng dạng callback string giống như Controller:
/**
* dễ Register any authentication rất / authorization services.
chưa *
* @return void
vẫn */
public function boot()
$this->registerPolicies();
có thể Gate::define('update-post', 'PostPolicy@update');
chỉ chẳng
Resource Gates chính Bạn có lẽ nhanh định nghĩa cả đa dạng Gate cũng dùng phương thức chẳng resource
Gate chớ ::resource('posts', 'PostPolicy');

Laravel lựa chọn authorization example
Policy chớ là các class chính quản lý hợp thôi lý trong ngay phân quyền dễ ảnh hưởng đến không thể một Model hoặc có thể tài nguyên nào đó. không thể Ví dụ, nếu có lẽ chương trình của đích bạn là một blog, bạn có lẽ có một model Post và một policy là postpolicy để 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 AppProviders; use không AppPost; use AppPoliciesPostPolicy; chưa use IlluminateSupportFacadesGate; use IlluminateFoundationSupportProvidersAuthServiceProvider cũng as ServiceProvider; class chậm AuthServiceProvider extends ServiceProvider /** đừng * The policy mappings nhanh for the cả application. * * @var array nhanh */ protected dễ $policies = [ Post::class vẫn => PostPolicy::class, ]; /** * Register any application authentication / authorization services. * * @return void */ public function boot() $this->registerPolicies(); // hữu ích
Nguyễn Ngọc Kiên ()
Với hơn 6 năm phát triển web bằng WordPress, PHP, Laravel và kinh nghiệm quản trị website, tôi chuyên tư vấn SEO và chiến lược digital marketing cho doanh nghiệp vừa và lớn.