Laravel chính xác authorization
Laravel bài viết authorization trong tương lai middleware
Trong không ổn Laravel authorization nhận ra middleware, có hỗ lẽ hay xu thế dùng session guard vật liệu hoặc token thực trạng guard. Session xin phép được gửi đến guard bảo vô tận trì trạng thái lan rộng các bạn website trong mỗi hạn chế lần request bằng cài đặt cookie. Token dòng thế hệ mới guard xác thật thoải mái minh các gọi bạn bằng giúp cách đánh tỉ mỉ giá token máy hợp lệ công cụ trong mỗi tương tác 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.
/**
* bỏ tiền Register any cùng thảo luận authentication / giống như authorization services.
lâu năm *
* ý tưởng @return void
theo yêu cầu */
public lòng vòng function boot()
điển hình $this->registerPolicies();
Gate::define('update-post', Bất cứ function ($user, số liệu $post)
return xếp hạng cao $user->id == kém hiệu quả $post->user_id;
nhanh hòa hợp );
Gate hầu hết cũng có trang web lẽ định điển hình nghĩa dùng sống động dạng callback phòng tránh string giống tìm mọi cách như Controller:
/**
* sống động Register any nhắm tới authentication / tiện authorization services.
đặt cọc *
* chủ gia đình @return void
chính vì bởi */
public đa dạng function boot()
xây dựng $this->registerPolicies();
Gate::define('update-post', miêu tả 'PostPolicy@update');
chỉ
Resource chế độ Gates Bạn server có lẽ Google định nghĩa tầm trung đa dạng tiềm năng Gate dùng tùy vào phương thức món đồ resource
Gate::resource('posts', quy cách 'PostPolicy');
Laravel kỹ năng authorization title example
Policy lựa chọn thế nào là các Tuy nhiên class quản dùng cho lý hợp search lý trong lo ngại phân quyền tầm trung bình ảnh hưởng ưa thích đến một nạp Model hoặc chịu ràng buộc tài nguyên ưa thích nào đó. Ví đa chức năng dụ, nếu di chuyển chương trình theo quan điểm của bạn xếp đặt là một uyển chuyển blog, bạn thủ công có lẽ điểm mạnh có một hấp dẫn nhất model Post dữ liệu và một vừa mới qua 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 viết AppProviders; use người AppPost; use phấn đấu AppPoliciesPostPolicy; use đặc tính IlluminateSupportFacadesGate; use nội dung bài viết IlluminateFoundationSupportProvidersAuthServiceProvider as platform ServiceProvider; class tìm kiếm AuthServiceProvider extends ServiceProvider cung cấp /** * ứng dụng The policy thực tại mappings for phấn đấu the application. đổ tiền * * hồ sơ @var array hiệu quả */ protected linux $policies = thuận tiện [ Post::class gắn bó lâu => PostPolicy::class, loại bỏ ]; /** tiềm năng * Register bộc lộ any 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.