Log in Manual
Log in Manual
env
composer create-project laravel/laravel 14login ^10.0
cd 14login
2. Migraciones y Modelos
Laravel ya cuenta con un Modelo y Migracion para usuarios, editar:
2.1 Migración:
database/migrations/xxxx_xx_xx_create_users_table.php
$table->string('role')->default('user');
Migrar:
base
3. Controlador AuthController
Editar: app/Http/Controllers/AuthController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use App\Models\User;
return view('auth.login');
if (Auth::attempt($credentials)) {
$request->session()->regenerate();
return redirect()->intended('dashboard');
Auth::logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
return redirect('/login');
4. Creando rutas
En routes/web.php
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\AuthController;
// Página protegida
Route::middleware('auth')->group(function () {
Route::get('/dashboard', function () {
return view('dashboard');
});
});
5. Creando vistas
Creamos: resources/views/auth/login.blade.php
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<h2>Iniciar Sesión</h2>
@if ($errors->any())
<div style="color:red;">
{{ $errors->first() }}
</div>
@endif
@csrf
<label>Email:</label>
<label>Contraseña:</label>
<button type="submit">Ingresar</button>
</form>
</body>
</html>
Creamos: resources/views/dashboard.blade.php
<!DOCTYPE html>
<html>
<head>
<title>Dashboard</title>
</head>
<body>
<h1>Bienvenido {{ auth()->user()->name }}</h1>
@csrf
</form>
</body>
</html>
6. Insertamos usuarios
INSERT INTO users (name, email, password, role, created_at, updated_at) VALUES
Accedemos a /login
7. Contraseñas
Hash::make('123456')