9 comentarios sobre “Cómo hacer login con username o email en Laravel 5.1

  1. Jesu espero tengas buen día, agradezco tu post, en realidad es muy útil. Debo realizar una autenticación con un RUT (chileno) y no he encontrado mayor información, todos utilizan el correo para realizar login.

  2. Es cierto que puede parecer de los 90’s pero no deja de ser muy útil ya que va a depender de la aplicación que se esté desarrollando y el rubro de negocio. Por ejemplo: Si desarrollas una aplicación para una empresa en la que no todas las posiciones requieren de un correo personalizado por usuario, imaginemos un hotel; el PMS es usado por los recepcionista a quienes casi nunca les asignan cuentas de correos, ya que al decir verdad, la naturaleza de lo que hacen no lo requiere a ese nivel. hacen check-in, check-out, servicio al cliente in-house, entre otras actividades; en todo momento la herramienta que necesitan es es el PMS y no tienen contacto con los clientes vía correo, para el hotel es más factible el “username” y no incurrir en gastos de cuentas de correos que solo se usará para hacer login a una aplicación.

    Ahora paso a mi pregunta, esto 6 pasos lo puedo hacer en la versión 5.4 y me funcionará?

    Saludos,

    1. Hola, Melv

      Pues para serte sincero, aún no me he puesto con laravel 5.4 aunque tengo un proyecto pendiente de actualizar de versión.

      Pero con esta solución no deberías tener problema porque lo que hacemos es sobreescribir el método para añadir una funcionalidad propia sin necesidad de tocar el core de laravel.

      Si acaso puede que necesites hacer algún ajuste si es que se han producido cambios en el AuthController original o en el método postLogin en laravel 5.4. Que como te digo no he tocado aún.

      Cuando me ponga con ello, haré una actualización de esta entrada aunque sea para decir que sigue vigente 😀

      Un saludo.

      1. De acuerdo, muchas gracias. Igual me haré una copia de seguridad e intentaré sobrescribir el método a ver si me funciona.

        Saludos,

  3. Hola disculpa la pregunta, podrías explicarme si existe alguna forma de hacer login desde distintas tablas en un mismo proyecto. De ante mano gracias.

    1. Hola, Eliseo

      Para serte sincero alguna vez he pensado en hacer eso mismo pero por falta de tiempo o por seguir avanzando otras áreas del proyecto nunca he profundizado en ello. Haciendo una búsqueda superficial encuentro esto que puede ser una primera pista:

      https://laraveles.com/foro/viewtopic.php?id=4873

      Entrando a la documentación de Laravel 5.2

      https://laravel.com/docs/5.2/authentication#authenticating-users

      En el apartado “Specifying Additional Conditions” entiendo que podrías customizar las condiciones de acceso de usuario consultando si el usuario existe en esa otra tabla.

      if (Auth::attempt(['email' => $email, 'password' => $password, 'active' => 1])) {
      // The user is active, not suspended, and exists.
      }

      Podrías añadir un or en ese if que chequee la existencia del usuario, su contraseña y si está activo en otra tabla. De forma que tienes separadas las tablas de tus tipos de usuarios (supongo que quieres trabajar con “usuarios” por un lado y “administradores” por otro, o alguna catalogación similar) y cuando alguien intente acceder compruebas si existe en alguna de las tablas.

      Espero que esto te sirva de ayuda, o al menos de punto de apoyo.

      Cuando lo resuelvas eres bienvenido y te agradecería que me comentes la solución a la que has llegado.

      Un saludo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *