Cambiar la columna de autenticación en Laravel 5 es muy simple, sólo debemos modificar un par de cosas, la primera es sobrescribir el método username del Trait AuthenticatesUsers, la segunda es modificar el archivo login.blade.php para cambiar el campo email por el que deseemos utilizar, en nuestro caso, como vamos a utilizar la columna name de la tabla users, haremos lo siguiente.
Modificamos el controlador LoginController sobscribiendo el método username.
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
class LoginController extends Controller
{
/*
|--------------------------------------------------------------------------
| Login Controller
|--------------------------------------------------------------------------
|
| This controller handles authenticating users for the application and
| redirecting them to your home screen. The controller uses a trait
| to conveniently provide its functionality to your applications.
|
*/
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = '/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
}
/**
* Get the login username to be used by the controller.
*
* @return string
*/
public function username()
{
return 'name'; //ahora utilizaremos la columna name de la tabla users
}
}
Después simplemente debemos modificar el archivo login.blade.php o el que utilicemos para iniciar sesión y cambiar el campo email por un campo de tipo texto y nombre name, que es el nombre de la columna users que vamos a utilizar para iniciar sesión.
<div class="form-group row">
<label for="name" class="col-sm-4 col-form-label text-md-right">{{ __('Usuario') }}</label>
<div class="col-md-6">
<input id="name" type="text" class="form-control{{ $errors->has('name') ? ' is-invalid' : '' }}" name="name" value="{{ old('name') }}" required autofocus>
@if ($errors->has('name'))
<span class="invalid-feedback">
<strong>{{ $errors->first('name') }}</strong>
</span>
@endif
</div>
</div>
Ya tenemos todo listo, si ahora tratas de iniciar sesión, verás que los errores funcionan y eres capaz de acceder con la columna name de la tabla users.
Curso Laravel 12
Completo 2026
El único curso 100% actualizado que incluye Laravel 12, Livewire 3, Vue 3, React 19 e Inertia 2. Aprende con proyectos reales y las últimas funcionalidades.
star Incluido en cualquier suscripción