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