69 строки
2.0 KiB
PHP
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');
|
|
}
|
|
}
|