Laravel chưa authorization
Laravel cả authorization chậm middleware
nhất Trong bỗng nhiên Laravel cần authorization chẳng middleware, chớ có đột nhiên lẽ hay luôn dùng session quá guard hoặc rất token mới guard. đột nhiên Session guard bảo đột nhiên trì được trạng thái các cần bạn trong được mỗi mới lần request được bằng cookie. Token chỉ guard xác rất minh các rất bạn bằng rất cách đánh chớ giá token hợp lệ lại trong mới mỗi lần bỗng nhiên request. chậm có 2 thôi cách chính trong phân quyền, thôi đó là mới Gates và Policies. được 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.
/**
luôn * Register chưa any chậm authentication / authorization services.
không *
cũ * @return void
*/
thôi public nhất function nhất boot()
dễ $this->registerPolicies();
Gate::define('update-post', chớ function ($user, cũng $post)
rất return $user->id chẳng == $post->user_id;
nhanh );
Gate cũng chớ có lẽ định nghĩa dùng dạng vẫn callback cũ string chậm giống chưa như Controller:
/**
* Register nhanh any authentication / authorization services.
mất *
rất * @return void
*/
không thể public function boot()
lại $this->registerPolicies();
sẽ Gate::define('update-post', 'PostPolicy@update');
cần chỉ không
đã Resource Gates Bạn có lẽ định cũ nghĩa chưa đa dạng Gate chưa dùng phương lại thức resource
Gate::resource('posts', không 'PostPolicy');
Laravel vẫn authorization example
quá Policy nhanh là các class quản chẳng lý nhanh hợp cần lý trong phân quyền ảnh sẽ hưởng lại đến một Model hoặc được tài nguyên không thể nào đột nhiên đó. có lẽ Ví dụ, nếu ngay chương đích trình của bạn là một chậm blog, những bạn có lẽ có một rất model Post ngay và chưa một cả policy đã là postpolicy vẫn để đang phân quyền các nhất hành dễ động cũ các bạn chớ giống nhanh như cần tạo đột nhiên hay cũ 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 có thể AppProviders; use AppPost; use AppPoliciesPostPolicy; những use đang IlluminateSupportFacadesGate; use IlluminateFoundationSupportProvidersAuthServiceProvider chưa as ServiceProvider; cần class dễ AuthServiceProvider extends được ServiceProvider nhanh /** cần * The thôi policy cả mappings for lại the application. đột nhiên * đích * luôn @var array */ cần protected $policies = chưa [ Post::class => mới PostPolicy::class, ]; chậm /** * Register sẽ any không thể application authentication / authorization services. * * nhanh @return void rất */ public lắm function thường boot() luôn $this->registerPolicies(); có thể // mới hữu không thể í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.