Initial commit: Lash Vanshy - Complete project with admin panel, gallery, products, and contact
This commit is contained in:
68
app/Http/Controllers/Admin/AuthController.php
Executable file
68
app/Http/Controllers/Admin/AuthController.php
Executable file
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\LoginRequest;
|
||||
use App\Models\AdminUser;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class AuthController extends Controller
|
||||
{
|
||||
/**
|
||||
* Mostrar formulario de login
|
||||
*/
|
||||
public function showLogin(): \Illuminate\Contracts\View\View|RedirectResponse
|
||||
{
|
||||
if (Auth::guard('admin')->check()) {
|
||||
return redirect()->route('admin.dashboard');
|
||||
}
|
||||
|
||||
return view('admin.auth.login');
|
||||
}
|
||||
|
||||
/**
|
||||
* Procesar login
|
||||
*/
|
||||
public function login(LoginRequest $request): RedirectResponse
|
||||
{
|
||||
$credentials = $request->only('email', 'password');
|
||||
|
||||
// Buscar usuario por email
|
||||
$adminUser = AdminUser::where('email', $credentials['email'])->first();
|
||||
|
||||
if (! $adminUser) {
|
||||
return back()->withErrors([
|
||||
'email' => 'Las credenciales no son válidas.',
|
||||
])->withInput($request->except('password'));
|
||||
}
|
||||
|
||||
// Verificar password
|
||||
if (! $adminUser->validatePassword($credentials['password'])) {
|
||||
return back()->withErrors([
|
||||
'email' => 'Las credenciales no son válidas.',
|
||||
])->withInput($request->except('password'));
|
||||
}
|
||||
|
||||
// Login manual
|
||||
Auth::guard('admin')->login($adminUser);
|
||||
|
||||
$request->session()->regenerate();
|
||||
|
||||
return redirect()->intended(route('admin.dashboard'))->with('success', 'Bienvenido al panel de administración.');
|
||||
}
|
||||
|
||||
/**
|
||||
* Cerrar sesión
|
||||
*/
|
||||
public function logout(): RedirectResponse
|
||||
{
|
||||
Auth::guard('admin')->logout();
|
||||
|
||||
request()->session()->invalidate();
|
||||
request()->session()->regenerateToken();
|
||||
|
||||
return redirect()->route('admin.login')->with('success', 'Sesión cerrada correctamente.');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user