OwlCyberSecurity - MANAGER
Edit File: RolePermissionMiddleware.php
<?php namespace App\Http\Middleware; use Closure; use Illuminate\Http\Request; use Symfony\Component\HttpFoundation\Response; class RolePermissionMiddleware { /** * Handle an incoming request. * * @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next */ public function handle(Request $request, Closure $next): Response { $destination = $request->route()->getName(); if($destination == null){ if($request->ajax()){ return response()->json('Route name with permission name is required.' , 422); } echo 'Route name with permission name is required'; exit; } else{ $permissionNameOffset = strripos($destination , '.'); if($permissionNameOffset == false || $permissionNameOffset == 0){ if($request->ajax()){ return response()->json('Permission name not found in route name. eg: route_name.permission_name' , 422); } echo 'Permission name not found in route name. eg: route_name.permission_name'; exit; } else{ $permission = substr($destination , $permissionNameOffset + 1 ); if($request->user()->can($permission)){ return $next($request); } else{ if($request->ajax()){ return response()->json("Unauthorized action. You do not have permission to access this." , 422); } echo "Unauthorized action. You do not have permission to access this. ".(auth()->check() ? "<br><a href='".route('logout')."'>Logout?</a>" : "").""; exit; } } } if($request->ajax()){ return response()->json('Unable to process the request.' , 422); } echo 'Unable to process the request.'; exit; } }