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