diff --git a/app/Http/Middleware/AdminPermissionMiddleware.php b/app/Http/Middleware/AdminPermissionMiddleware.php new file mode 100644 index 0000000..33558dd --- /dev/null +++ b/app/Http/Middleware/AdminPermissionMiddleware.php @@ -0,0 +1,34 @@ +user(); + + if (!$admin) { + abort(403); + } + + $hasPermission = $admin->permissions() + ->where('name', $permission) + ->exists(); + + if (!$hasPermission) { + abort(403, 'شما اجازه دسترسی به این بخش را ندارید.'); + } + + return $next($request); + } +} diff --git a/app/Models/Permission.php b/app/Models/Permission.php new file mode 100644 index 0000000..0457e98 --- /dev/null +++ b/app/Models/Permission.php @@ -0,0 +1,45 @@ +belongsToMany( + Admin::class, + 'admin_permission', + 'permission_id', + 'admin_id' + ); + } +}