Acoustep\EntrustGui\Http\Middleware\AdminAuth::handle PHP Method

handle() public method

Handle the request
public handle ( mixed $request, Closure $next ) : Illuminate\Http\Response
$request mixed
$next Closure
return Illuminate\Http\Response
    public function handle($request, Closure $next)
    {
        if ($this->auth->guest()) {
            if ($request->ajax()) {
                return $this->response->make('Unauthorized.', 401);
            } else {
                return $this->redirect->guest($this->config->get('entrust-gui.unauthorized-url', 'auth/login'));
            }
        } elseif (!$request->user()->hasRole($this->config->get('entrust-gui.middleware-role'))) {
            return $this->response->make('Unauthorized.', 401);
            //Or redirect() or whatever you want
        }
        return $next($request);
    }

Usage Example

Example #1
0
 /**
  * @test
  */
 public function guest_cant_access()
 {
     $this->guard->shouldReceive('guest')->andReturn(true);
     $this->request->shouldReceive('ajax')->andReturn(false);
     $this->redirect->shouldReceive('guest')->with('auth/login');
     $next = function ($request) {
         return true;
     };
     $tester = new AdminAuth($this->guard, $this->config, $this->response, $this->redirect);
     $result = $tester->handle($this->request, $next);
     $this->assertNotTrue($result);
 }