| @@ 10-27 (lines=18) @@ | ||
| 7 | ||
| 8 | class PermissionMiddleware  | 
                                |
| 9 | { | 
                                |
| 10 | public function handle($request, Closure $next, $permission)  | 
                                |
| 11 |     { | 
                                |
| 12 |         if (Auth::guest()) { | 
                                |
| 13 | abort(403);  | 
                                |
| 14 | }  | 
                                |
| 15 | ||
| 16 | $permissions = is_array($permission)  | 
                                |
| 17 | ? $permission  | 
                                |
| 18 |             : explode('|', $permission); | 
                                |
| 19 | ||
| 20 |         foreach ($permissions as $permission) { | 
                                |
| 21 |             if (Auth::user()->can($permission)) { | 
                                |
| 22 | return $next($request);  | 
                                |
| 23 | }  | 
                                |
| 24 | }  | 
                                |
| 25 | ||
| 26 | abort(403);  | 
                                |
| 27 | }  | 
                                |
| 28 | }  | 
                                |
| 29 | ||
| @@ 10-25 (lines=16) @@ | ||
| 7 | ||
| 8 | class RoleMiddleware  | 
                                |
| 9 | { | 
                                |
| 10 | public function handle($request, Closure $next, $role)  | 
                                |
| 11 |     { | 
                                |
| 12 |         if (Auth::guest()) { | 
                                |
| 13 | abort(403);  | 
                                |
| 14 | }  | 
                                |
| 15 | ||
| 16 | $role = is_array($role)  | 
                                |
| 17 | ? $role  | 
                                |
| 18 |             : explode('|', $role); | 
                                |
| 19 | ||
| 20 |         if (! Auth::user()->hasAnyRole($role)) { | 
                                |
| 21 | abort(403);  | 
                                |
| 22 | }  | 
                                |
| 23 | ||
| 24 | return $next($request);  | 
                                |
| 25 | }  | 
                                |
| 26 | }  | 
                                |
| 27 | ||