> Faqs > Cómo puedo obtener el usuario que ha realizado una solicitud en Laravel mediante el objeto Request

Cómo puedo obtener el usuario que ha realizado una solicitud en Laravel mediante el objeto Request

Tengo un middleware en Laravel en el que quiero verificar algo del usuario autenticado.

En el middleware me entregan en Request de la solicitud, por parámetro en el método handle() ¿Cómo puedo saber el usuario que está asociado a ese request?

Respuestas

En Laravel puedes usar el método user() del objeto request si deseas acceder al usuario autenticado.

$user = $request->user();

Por ejemplo este sería un método handle() que hace uso del usuario autenticado vía objeto Request $request inyectado en el método.

public function handle(Request $request, Closure $next): Response
{
    $user = $request->user();
    if(! $user || ! $user->premium) {
        return abort(403);
    }
    return $next($request);
}

Pero la verdad no creo que haya mucha diferencia a usar el facade de Auth, o no debería.

Miguel Angel
3295 146 215 17