for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Spatie\Permission\Middlewares;
use Closure;
use Spatie\Permission\Exceptions\UnauthorizedException;
class PermissionMiddleware
{
public function handle($request, Closure $next, $permission, $guard = null)
if (app('auth')->guard($guard)->guest()) {
throw UnauthorizedException::notLoggedIn();
}
$permissions = is_array($permission)
? $permission
: explode('|', $permission);
foreach ($permissions as $permission) {
if (app('auth')->guard($guard)->user()->can($permission)) {
return $next($request);
throw UnauthorizedException::forPermissions($permissions);