Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

474
Vistas
Rol multiusuario en laravel 8

Quiero redirigir al panel del usuario según el rol. Creé una tabla separada para el rol de usuario y una tabla separada para el usuario. No entiendo cómo puedo hacer eso.

Este es mi código de software intermedio

 public function handle(Request $request, Closure $next) { if(!Auth::check()){ return redirect()->route('login.user')->with('error', 'Please login first'); } if(Auth::user()->role == 1){ return $next($request); } if(Auth::user()->role == 2){ return redirect()->route('user.dashboard'); } }

Esta es mi tabla de roles de usuario

identificación tipo de usuario
1 administración
2 usuario

Esta es mi tabla de usuario

identificación nombre de usuario usuario_role_id
1 administración 1
2 usuario 2

Estaría muy feliz si pudieras ayudarme.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

En el modelo de usuario, debe definir la relación de roles.

Ponga esto a su modelo de usuario:

 public function role() { return $this->belongsTo(Role::class, 'user_role_id'); }

Por supuesto que tienes que tener el modelo a seguir, pero supongo que ya lo tienes.

 public function handle(Request $request, Closure $next) { if(!Auth::check()){ return redirect()->route('login.user')->with('error', 'Please login first'); } if(Auth::user()->role->user_type == 'admin'){ return $next($request); } if(Auth::user()->role->user_type == 'user'){ return redirect()->route('user.dashboard'); } }

Otra solución podría ser sin relación como esta:

 public function handle(Request $request, Closure $next) { if(!Auth::check()){ return redirect()->route('login.user')->with('error', 'Please login first'); } if(Auth::user()->user_role_id == 1){ return $next($request); } if(Auth::user()->user_role_id == 2){ return redirect()->route('user.dashboard'); } }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda