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

Laravel authorization example
Policy là các class quản lý hợp đích lý trong phân quyền ảnh hưởng đến một Model hoặc tài đã nguyên nào đó. Ví dụ, nếu chương trình của bạn là một chậm blog, bạn có lẽ có một model Post và một policy là postpolicy quá để phân quyền các hành động các bạn giống như tạo hay nhanh cập hoạt động nhật các bài chậm viết. Một policy muốn dùng cần được đăng ký, AuthServiceProvider không đ kĩ năng ược đưa vào trong được project Laravel chứa một thuộc tính policies để không thể map Eloquent model với các policy tương ứng Laravel bỗng nhiên authorization example.<?php namespace AppProviders không thể ; use AppPost; use AppPoliciesPostPolicy; use dễ IlluminateSupportFacadesGate; use IlluminateFoundationSupportProvidersAuthServiceProvider lại as ServiceProvider; class AuthServiceProvider quá extends ServiceProvider /** * The policy mappings mới for the application. * * @var array */ protected vẫn $policies = [ Post::class => PostPolicy::class chẳng , ]; /** * Register any application authentication cũ / authorization services. * * @return void */ public bỗng nhiên function boot() $this->registerPolicies() ngay ; // hữu ích
Lê Trương Tấn Lộc (sieutocviet.page)
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.