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