Anuncio

Entra a participar en el Slack de Laraveles. Solicita tu invitación aquí.
Nos ayuda a manter la comunidad

#1 29/11/2018 18:36:58

marceloquiroz
Miembro
Registrado: 02/03/2017
Mensajes: 9

Middleware no funciona Laravel 5.5

Buenas, tengo un problema con el middleware para restringir el acceso a una funcion del controlador.

mi middleware es el siguiente:

<?php

public function __construct(Guard $auth){
        $this->auth = $auth;
    }
 
    public function handle($request, Closure $next)
    {
        if($this->auth->guest())
        {
            if($request->ajax())
            {
                return response('Unauthorized',401);
            }
            else
            {
                return redirect()->guest('/admin');
            }
        }
         return $next($request);
    }

en el kernel le puse :

 protected $routeMiddleware = [
        'auth' => \AppName\Http\Middleware\Authenticate::class,
        //'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
        'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
        'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
        'can' => \Illuminate\Auth\Middleware\Authorize::class,
        'guest' => \majelo\Http\Middleware\RedirectIfAuthenticated::class,
        'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
    ];

y en el controlador

 public function __construct(){
        $this->middleware('auth',['only'=>'panel']);
    }

no funciona cuando el usuario ha realizado un logout, este sigue pudiendo ver el panel de administracion, pero si le pongo en el controlador lo siguiente

function panel(){
    if(Auth::guest())
    return redirect('/admin');
    else
    return view('Mobile.Panel');
}

recien funciona como quiero, se que esto no es lo ideal por eso quiero ver en que estoy fallando al aplicar el middleware.

gracias por su ayuda.

Desconectado

Pié de página <- REVISAR ->

Powered by FluxBB

Ayuda a mantener la comunidad: