Tuyệt, để xây dựng giao diện quản lý người dùng và phân quyền với spatie/laravel-permission
✅ 1. Cài đặt mối quan hệ Role/Permission/User
use Spatie\Permission\Traits\HasRoles;
class User extends Authenticatable
{
use HasRoles;
}✅ 2. Tạo Seeder cho Roles và Permissions
bphp artisan make:seeder RolePermissionSeederuse Spatie\Permission\Models\Role;
use Spatie\Permission\Models\Permission;
public function run()
{
$permissions = [
'view page',
'create page',
'edit page',
'delete page',
'manage users',
'manage roles'
];
foreach ($permissions as $permission) {
Permission::firstOrCreate(['name' => $permission]);
}
$admin = Role::firstOrCreate(['name' => 'admin']);
$admin->syncPermissions($permissions);
$editor = Role::firstOrCreate(['name' => 'editor']);
$editor->syncPermissions(['view page', 'edit page']);
$user = \App\Models\User::find(1); // hoặc user đầu tiên
if ($user) $user->assignRole('admin');
}
✅ 4. Route
✅ 5. Giao diện phân quyền (UserController)






✅ 6. (Tùy chọn) Quản lý permission theo role
PreviousTuyệt vời, bạn đã có hệ thống CRUD Page hoàn chỉnh. Bây giờ mình sẽ hướng dẫn phân quyền chi tiết chNextCách sử dụng help và một số cách sử dụng nhanh chóng (ok)
Last updated