File: D:/HostingSpaces/SBogers10/spire-checkout.komma-mediadesign.nl/app/Http/Middleware/Authenticate.php
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
use Kbwebs\MultiAuth\MultiManager;
use Illuminate\Foundation\Application;
class Authenticate
{
/**
* The Guard implementation.
*
* @var Guard
*/
protected $auth;
/**
* Authenticate constructor
* @param \Illuminate\Foundation\Application $app
*/
public function __construct(Application $app)
{
$this->app = $app;
$this->auth = new MultiManager($this->app);
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param $role
* @return mixed
*/
public function handle($request, Closure $next, $role)
{
switch ($role) {
case 'user':
return $this->handleUser($request, $next);
break;
case 'endUser':
return $this->handleEndUser($request, $next);
break;
}
}
private function handleUser($request, Closure $next)
{
// if (!$this->auth->user()->guest()) return $next($request);
if (!Auth::guest()) return $next($request);
if ($request->ajax()) return response('Unauthorized.', 401);
return redirect()->guest('kms/login');
}
private function handleEndUser($request, Closure $next)
{
if (!Auth::guest()) return $next($request);
if ($request->ajax()) return response('Unauthorized.', 401);
return redirect()->guest('login');
}
}