69 строки
2.0 KiB
PHP

<?php
namespace App\Controllers;
use App\Controllers\BaseController;
use App\Models\UsuarioModel;
class AdminAuth extends BaseController
{
public function login()
{
if ($this->request->getMethod() === 'post') {
$rules = [
'nombreusuario' => 'required',
'password' => 'required',
];
if (!$this->validate($rules)) {
return redirect()->back()->with('msg', array(
'type' => 'danger',
'body' => 'Es necesario llenar todos los campos'
));
}
// obtener datos
$data = $this->request->getPost();
// Buscar usuario
if (!$usuario = model(UsuarioModel::class)->findByUsername($data['nombreusuario'])) {
return redirect()->back()->with('msg', array(
'type' => 'danger',
'body' => 'Revisa tus credenciales e inténtalo nuevamente'
));
}
// Verificar contraseña
if (!password_verify($data['password'], $usuario['password'])) {
return redirect()->back()->with('msg', array(
'type' => 'danger',
'body' => 'Revisa tus credenciales e inténtalo nuevamente'
));
}
// Inicializar sesión
session()->set([
'id' => $usuario['idusuario'],
'usuario' => $usuario['nombreusuario'],
'is_logged' => true,
]);
return redirect()->route('admin_home')->with('msg', array(
'type' => 'success',
'body' => 'Inicio de sesión correcto'
));
}
return view('AdminAuth/login');
}
public function logout()
{
$session = session();
$session->remove(['id', 'usuario', 'is_logged']);
return redirect()->route('admin_login');
}
}