PHP JavaScript

Seguimiento del último inicio de sesión y mejoras en la tabla de administración de usuarios

Introducción

En el proyecto devlog-ist\landing, estamos trabajando en mejorar la administración de usuarios. Una funcionalidad importante es el seguimiento del último inicio de sesión, que permite a los administradores tener una visión clara de la actividad de los usuarios. Además, se han realizado mejoras en la tabla de administración de usuarios para facilitar la gestión.

El problema

Antes, no teníamos un registro preciso del último inicio de sesión de los usuarios. Esto dificultaba la identificación de cuentas inactivas o la detección de posibles problemas de seguridad. Además, la tabla de administración de usuarios tenía una configuración predeterminada que no era óptima para la gestión eficiente.

La solución

Para solucionar este problema, implementamos un sistema de seguimiento del último inicio de sesión utilizando un EventListener que registra la fecha y hora cada vez que un usuario inicia sesión. Esta información se guarda en la base de datos y se muestra en la tabla de administración de usuarios. Además, modificamos la configuración predeterminada de la tabla para mostrar 20 registros por página y ordenar los usuarios por el inicio de sesión más reciente.

Aquí hay un ejemplo simplificado de cómo se podría implementar el EventListener:

use Symfony\Component\Security\Http\Event\InteractiveLoginEvent;

class LoginListener
{
    public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
    {
        $user = $event->getAuthenticationToken()->getUser();

        if ($user instanceof User) {
            $user->setLastLoginAt(new \DateTime());
            // Persistir el usuario en la base de datos
            $entityManager = $this->doctrine->getManager();
            $entityManager->persist($user);
            $entityManager->flush();
        }
    }
}

Este código muestra cómo se captura el evento de inicio de sesión, se actualiza la fecha y hora del último inicio de sesión del usuario y se guarda la información en la base de datos.

Resultados

Con esta implementación, ahora podemos:

  • Identificar fácilmente las cuentas inactivas.
  • Tener una mejor visión general de la actividad de los usuarios.
  • Gestionar la tabla de administración de usuarios de manera más eficiente.

Próximos pasos

  • Implementar notificaciones para administradores sobre cuentas inactivas.
  • Añadir más opciones de filtrado y ordenamiento a la tabla de administración de usuarios.

Conclusión

El seguimiento del último inicio de sesión y las mejoras en la tabla de administración de usuarios son un paso importante para mejorar la seguridad y la gestión de la plataforma devlog-ist\landing. Estas funcionalidades permiten a los administradores tener una mejor visión general de la actividad de los usuarios y gestionar la plataforma de manera más eficiente.

Seguimiento del último inicio de sesión y mejoras en la tabla de administración de usuarios
Gerardo Ruiz

Gerardo Ruiz

Author

Share: