| @@ 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 | ||