added middleware called requirerole to check if a user is granted access to a certain area of the site.

This commit is contained in:
2018-11-04 14:24:11 -06:00
parent ea4f7e7e70
commit 28161a4308
2 changed files with 23 additions and 0 deletions

View File

@@ -61,5 +61,6 @@ class Kernel extends HttpKernel
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
'callback' => \App\Http\Middleware\Callback::class,
'role' => \App\Http\Middleware\RequireRole::class,
];
}

View File

@@ -0,0 +1,22 @@
<?php
namespace App\Http\Middleware;
use Closure;
class RequireRole
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next, $role)
{
abort_unless(auth()->check() && auth()->user()->hasRole($role), 403, "You don't have permissions to access this area!");
return $next($request);
}
}