for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Spatie\Permission\Middlewares;
use Closure;
use Illuminate\Support\Facades\Auth;
use Spatie\Permission\Exceptions\UnauthorizedException;
class RoleOrPermissionMiddleware
{
public function handle($request, Closure $next, $roleOrPermission, $guard = null)
if (is_null($guard)) {
$guard = (require config_path('auth.php'))['defaults']['guard'];
}
if (Auth::guard($guard)->guest()) {
throw UnauthorizedException::notLoggedIn();
$rolesOrPermissions = is_array($roleOrPermission)
? $roleOrPermission
: explode('|', $roleOrPermission);
if (! Auth::guard($guard)->user()->hasAnyRole($rolesOrPermissions, $guard) && ! Auth::guard($guard)->user()->hasAnyPermission($rolesOrPermissions, $guard)) {
throw UnauthorizedException::forRolesOrPermissions($rolesOrPermissions);
return $next($request);