Te explico cómo configurar el sistema de login en Laravel paso a paso
https://www.youtube.com/watch?v=l6rlBIhjEs0
Te explico cómo configurar el sistema de login en Laravel paso a paso:
1. Instalación y configuración inicial
Primero, asegúrate de tener Laravel instalado y configurado:
composer create-project laravel/laravel mi-proyecto
cd mi-proyecto2. Configurar la base de datos
En el archivo .env, configura tu base de datos:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=nombre_base_datos
DB_USERNAME=usuario
DB_PASSWORD=contraseña3. Instalar el paquete de autenticación
Laravel incluye un scaffolding para autenticación:
composer require laravel/ui
php artisan ui bootstrap --auth
npm install && npm run build4. Migraciones
Ejecuta las migraciones para crear las tablas necesarias:
php artisan migrate5. Modelo User
El modelo User ya viene incluido. Puedes personalizarlo si necesitas:
<?php
// app/Models/User.php
namespace App\Models;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
class User extends Authenticatable
{
use Notifiable;
protected $fillable = [
'name', 'email', 'password',
];
protected $hidden = [
'password', 'remember_token',
];
}6. Controladores de Autenticación
Los controladores ya están generados en app/Http/Controllers/Auth/:
LoginController.phpRegisterController.phpForgotPasswordController.phpResetPasswordController.php
7. Rutas
Las rutas de autenticación están en routes/web.php:
Auth::routes();
// Rutas protegidas
Route::middleware(['auth'])->group(function () {
Route::get('/dashboard', function () {
return view('dashboard');
});
});8. Vistas
Las vistas se encuentran en resources/views/auth/:
login.blade.php- Formulario de loginregister.blade.php- Formulario de registroetc.
9. Personalizar la redirección
En app/Http/Controllers/Auth/LoginController.php:
protected $redirectTo = '/dashboard';
public function __construct()
{
$this->middleware('guest')->except('logout');
$this->middleware('auth')->only('logout');
}10. Middleware de autenticación
Protege tus rutas:
Route::get('/profile', function () {
// Solo usuarios autenticados
})->middleware('auth');11. Verificar autenticación en controladores
public function index()
{
if (auth()->check()) {
// Usuario autenticado
$user = auth()->user();
}
// O usando el helper
$user = Auth::user();
}12. Personalizar campos de login
Para usar username en lugar de email, modifica LoginController.php:
public function username()
{
return 'username'; // Cambia 'email' por 'username'
}13. Validaciones personalizadas
En app/Http/Controllers/Auth/RegisterController.php:
protected function validator(array $data)
{
return Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:8', 'confirmed'],
// Agrega más validaciones aquí
]);
}14. Ejemplo de uso básico
// Login manual
if (Auth::attempt(['email' => $email, 'password' => $password])) {
// Autenticación exitosa
return redirect()->intended('dashboard');
}
// Cerrar sesión
Auth::logout();15. Comandos útiles
# Crear migraciones
php artisan make:migration create_users_table
# Ejecutar migraciones
php artisan migrate
# Crear seeders
php artisan make:seeder UsersTableSeederConfiguración adicional importante
Habilitar registro (opcional)
Si quieres deshabilitar el registro, modifica las rutas:
// En routes/web.php
Auth::routes(['register' => false]);Configuración de session
Revisa config/session.php para configurar el manejo de sesiones.
¡Con estos pasos tendrás un sistema de login funcional en Laravel! ¿Necesitas ayuda con alguna parte específica?
Comentarios
Publicar un comentario