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