Creación de usuarios de GBS SMART

Visión general

Este manual detalla el procedimiento para la creación de usuarios de GBS SMART.

  • Todo usuario debe tener una cuenta en el LDAP para iniciar sesión.

  • Todas las configuraciones y datos de GBS Smart se encuentran dentro del esquema SMART.

  • La tabla User contiene información básica sobre el usuario.

  • La tabla UserPermission relaciona usuarios con sus permisos a través de los campos UserId y PermissionId (ver Lista de permisos disponibles).

  • La tabla UserStation relaciona usuarios con estaciones a través de los campos UserId y StationId.

Procedimiento

Crear un nuevo puesto de trabajo en la tabla Station

Para crear un nuevo puesto de trabajo, o estación, inserte un registro en la tabla SMART.Station llenando las siguientes columnas:

  • StationId: Rellene con un ID incremental de la estación.

  • Description: Rellene con el nombre de la estación.

  • MandatoryConference: Indique si las transacciones del puesto deberán ir a conferencia obligatoria (1 para sí, 0 para no).

  • CityId: Indique el ID de la ciudad en la que se ubica la estación.

El ID de la estación (StationId) se usará en los próximos pasos.

Crear un nuevo usuario en la tabla User

Para crear un nuevo usuario, inserte un registro en la tabla SMART.User llenando las siguientes columnas:

  • CPF: Rellene con el CPF del usuario.

  • Username: Rellene con el nombre de usuario.

  • Admin: Indique si el usuario es administrador (1 para sí, 0 para no).

  • Active: Indique si el usuario está activo (1 para activo, 0 para inactivo). El valor predeterminado es 1.

  • Pguid (opcional): Rellene con el PGUID del usuario en la base biométrica.

La columna UserId es auto incremental. El ID del usuario será utilizado en los próximos pasos.

Asignar permisos al usuario en la tabla UserPermission

Después de crear el usuario, es necesario asignar sus permisos. Para ello, inserte un registro en la tabla SMART.UserPermission por cada permiso que el usuario debe tener, relacionando el UserId con el PermissionId.

Lista de permisos disponibles

El PermissionId está especificado en la siguiente tabla:

PermissionId
Descripción
PermissionName

1

Permiso de listado de registro civil, 2ª vía, etc.

CIVIL

2

Permiso de listado de registro criminal.

CRIMINAL

3

Permiso de visualización de la pantalla de layout.

LAYOUT

4

Permiso de visualización de la pantalla de búsqueda avanzada.

PESQUISA

5

Permiso para realizar captura de biometrias.

CAPTURA

6

Permiso para realizar descarga de biometrias, impresión de protocolo y expediente.

DOWNLOAD

7

Permiso para realizar verificación de biográficos.

CONFERENCE

8

Permiso para realizar la baja de malotes.

PACKAGE

Asociar el usuario a una estación en la tabla UserStation

Inserte un registro en la tabla UserStation relacionando el UserId con el StationId. La estación debe estar configurada previamente en la tabla SMART.Station, como se explicó anteriormente.

  • UserId: Utilice el UserId del usuario, tal como consta en la tabla SMART.User.

  • StationId: Rellene con el ID de la estación a la cual el usuario será asociado, tal como consta en la tabla SMART.Station.

Procedure de creación de Usuario, asignación de puesto y permisos

DELIMITER //
CREATE PROCEDURE InsertNewUser(
	IN p_CPF VARCHAR(14),
	IN p_Username VARCHAR(64),
	IN p_Admin TINYINT(1),
	IN p_Active TINYINT(1),
	IN p_Pguid VARCHAR(100),
	IN p_StationId INT,
	IN p_Permissions VARCHAR(100) -- Permisos separados por comas (ej: '1,4,5,6,7')
)
BEGIN
	DECLARE user_id INT;
	DECLARE perm_pos INT DEFAULT 1;
	DECLARE perm_length INT;
	DECLARE current_permission VARCHAR(10);
	DECLARE done INT DEFAULT 0;

	-- Inserta un nuevo usuario en la tabla User
	INSERT INTO `User` (`CPF`, `Username`, `Admin`, `Active`, `Pguid`)
	VALUES (p_CPF, p_Username, p_Admin, p_Active, p_Pguid);

	-- Obtiene el último ID insertado en la tabla User
	SET user_id = LAST_INSERT_ID();

	-- Bucle para insertar los permisos
	read_loop: LOOP
		SET perm_length = LOCATE(',', p_Permissions, perm_pos) - perm_pos;
		IF perm_length < 0 THEN
			SET perm_length = LENGTH(p_Permissions) - perm_pos + 1;
			SET done = 1;
		END IF;
		SET current_permission = SUBSTRING(p_Permissions, perm_pos, perm_length);

		-- Insertar permiso en la tabla UserPermission
		INSERT INTO `UserPermission` (`UserId`, `PermissionId`)
		VALUES (user_id, current_permission);

		IF done = 1 THEN
			LEAVE read_loop;
		END IF;

		SET perm_pos = LOCATE(',', p_Permissions, perm_pos) + 1;
	END LOOP read_loop;

	-- Inserta asociación del nuevo usuario con una estación en la tabla UserStation
	INSERT INTO `UserStation` (`UserId`, `StationId`)
	VALUES (user_id, p_StationId);
END //
DELIMITER ;

Ejemplo de llamada al procedure

Argumentos:

  • CPF (solo números)

  • Username (igual al LDAP)

  • Admin (0: false, 1: true)

  • Activo (0: false, 1: true)

  • PGUID del GBDS (buscar CPF en el GBDS)

  • ID de la estación

  • Permisos separados por comas

Llamar al procedimiento almacenado para insertar un nuevo usuario:

CALL InsertNewUser('12345678900', 'new_user', 0, 1, NULL, 1,'1,4,5,6,7');

El ejemplo anterior crea un nuevo usuario con CPF 123.456.789-00, nombre de usuario new_user, no administrador, activo, sin PGUID, asociado a la estación con ID 1 y con los permisos 1,4,5,6,7.

Última actualización

¿Te fue útil?