Để sử dụng gói quyền của Spatie Laravel một cách hiệu quả, một số cấu hình cụ thể và các bước thiết lập được yêu cầu:
Cài đặt và xuất bản
- Cài đặt gói thông qua Trình soạn thảo: `Trình soạn thảo yêu cầu Permempress Patie/Laravel-Permmission`.
- Xuất bản tệp di chuyển và cấu hình bằng lệnh Artisan:
`Nhà cung cấp php Artisan: xuất bản --Provider =" Spatie \ Perness \ PermissionServiceProvider "`.
- Chạy các lần di chuyển để tạo các bảng cần thiết (`Vai trò`,` Quyền ', `model_has_permission`,` model_has_roles`, `RIME_HAS_PERMISSIONSI trong cơ sở dữ liệu.
Cấu hình mô hình người dùng
- Mô hình người dùng (hoặc bất kỳ mô hình xác thực nào bạn muốn gán vai trò/quyền cho) phải sử dụng tính trạng `hasroles` do gói cung cấp. Điều này cho phép quản lý vai trò và quyền trên mô hình.
Điều chỉnh tệp cấu hình
- Gói xuất bản tệp `config/percission.php` nơi bạn có thể tùy chỉnh các cài đặt như tên bảng, cài đặt bộ nhớ cache và các lớp mô hình.
- Nếu bạn đang sử dụng UUID thay vì ID tự động tự động, bạn cần điều chỉnh các lần di chuyển và có thể tệp cấu hình phù hợp trước khi chạy di chuyển.
-Đối với các thiết lập nhiều người thuê hoặc dựa trên nhóm, bạn phải bật và định cấu hình tính năng "nhóm" trong tệp cấu hình.
Cấu hình bộ nhớ cache
- Gói sử dụng bộ nhớ đệm để tối ưu hóa việc tra cứu quyền. Theo mặc định, hết hạn bộ đệm được đặt thành 24 giờ.
- Bạn có thể tùy chỉnh lưu trữ bộ đệm, tiền tố và thời gian hết hạn trong `config/percission.php` trong mảng` cache`.
- Trong các kịch bản nhiều người thuê, nên đặt một tiền tố bộ đệm duy nhất để tránh đụng độ.
- Nếu ứng dụng của bạn chuyển người thuê trong một yêu cầu duy nhất, bạn có thể cần phải điều chỉnh lại thủ công bộ đệm quyền.
Phần mềm trung gian
- Để bảo vệ các tuyến đường dựa trên vai trò hoặc quyền, hãy đăng ký các bí danh phần mềm trung gian của gói (`vai trò`,` Perness`, `reMe_or_permission`) trong cấu hình HTTP Kernel hoặc Middleware của bạn.
Tùy chỉnh nâng cao
- Bạn có thể mở rộng vai trò và mô hình quyền của gói nếu bạn muốn tùy chỉnh hành vi, nhưng bạn phải cẩn thận để cập nhật tệp cấu hình để trỏ đến các mô hình tùy chỉnh của mình.
- Thay đổi tên bảng cơ sở dữ liệu mặc định yêu cầu cập nhật tệp cấu hình và có thể các di chuyển.
- Đối với hỗ trợ UUID hoặc các trường hợp sử dụng nâng cao khác, hãy làm theo các phần tài liệu nâng cao của gói.
Tóm lại, các cấu hình chính liên quan đến việc xuất bản và tùy chỉnh tệp cấu hình, thêm tính trạng `hasroles` vào mô hình người dùng của bạn, chạy di chuyển, định cấu hình bộ nhớ đệm đúng cách và tùy chọn thiết lập phần mềm trung gian và hỗ trợ nhiều người thuê. Thực hiện theo các bước này đảm bảo rằng gói Spatie sẽ hoạt động hiệu quả trong ứng dụng Laravel của bạn [1] [2] [6] [8] [9].
Trích dẫn:
[1] https://spatie.be/docs/laravel-permission/v6/installation-laravel
[2] https://spatie.be/docs/laravel-permission/v6/prerequisites
[3] https://spatie.be/docs/laravel-data/v4/requirements
[4] https://packagist.org/packages/spatie/laravel-settings
[5] https://spatie.be/docs/laravel-html/v3/installation-setup
[6] https://www.honeybadger.io/blog/laravel-permissions-roles/
[7] https://github.com/spatie/laravel-slack-alerts/discussions/22
[8] https://github.com/spatie/laravel-permission/blob/main/docs/advanced-usage/cache.md
[9] https://www.allphptricks.com
[10] https://stackoverflow.com/questions/58114242/extending-the-spatie-role-model-but-use-a-different-database-table