Hướng dẫn user role php - vai trò người dùng php
Trong bất kỳ hệ thống nào, việc phân quyền là một điều hết sức quan trọng. Việc phân quyền sẽ quy định người dùng có thể truy cập những chức năng nào, thực hiện những tác vụ nào trong hệ thống. Show Hôm nay mình sẽ hướng dẫn các bạn tạo một hệ thống phân quyền đơn giản nhưng khá đầy đủ, sử dụng trong Laravel. 1. Bài toánPhân quyền quản lý các bài viết trong blog: create, view, update, delete, restore, force delete. Một user có nhiều role, một role có nhiều permission. 2. Chuẩn bị2.1 Database StructChúng ta sẽ cần các bảng: users, roles, permissions, role_user và permission_role
2.2 Trait HasPermissionsapp/Traits/HasPermissions.php
2.3 ModelsRole model
Permission model
Post model
User model
2.3 Seeder Data
3 Phân quyềnChúng ta sẽ sử dụng Policy trong Laravel để kiểm tra quyền truy cập của user vào Controller. 3.1 Tạo policy 2
3.2 Gán Policy cho ModelTrong file app/Providers/AuthServiceProvider.php, chúng ta gán PostPolicy cho model Post:app/Providers/AuthServiceProvider.php, chúng ta gán PostPolicy cho model Post:
3.3 Check PolicyChúng ta có thể check Policy ở bất kỳ đâu có thể sử dụng Authorization. Ở controller:
Trong đoạn code 3
Thông qua User model 0 4 và 6 tương tự như ví dụ bên trên.Ở Middleware 1Trong đoạn code 2
Thông qua User model 4 và 6 tương tự như ví dụ bên trên. |