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