Criação de usuários do GBS SMART
Visão Geral
Este manual detalha o procedimento para criação de usuários do GBS SMART.
Todo usuário deve ter uma conta no LDAP para login.
Todas as configurações e dados do GBS Smart ficam dentro do schema SMART.
A tabela
User
contém informações básicas sobre o usuário.A tabela
UserPermission
relaciona usuários com suas permissões através dos camposUserId
ePermissionId
(ver Lista de Permissões Disponíveis).A tabela
UserStation
relaciona usuários com estações através dos camposUserId
eStationId
.
Procedimento
Criar um novo posto de trabalho na tabela Station
Para criar um novo posto de trabalho, ou estação, insira um registro na tabela SMART.Station
preenchendo as seguintes colunas:
StationId
: Preencha com um ID incremental da estação.Description
: Preencha com o nome da estação.MandatoryConference
: Indique se as transações do posto deverão ir para conferência obrigatória (1
para sim,0
para não).CityId
: Indique o ID da cidade em que a estação se localiza.
Criar um novo usuário na tabela User
Para criar um novo usuário, insira um registro na tabela SMART.User
preenchendo as seguintes colunas:
CPF
: Preencha com o CPF do usuário.Username
: Preencha com o nome de usuário.Admin
: Indique se o usuário é administrador (1
para sim,0
para não).Active
: Indique se o usuário está ativo (1
para ativo,0
para inativo). O valor padrão é1
.Pguid
(opcional): Preencha com o PGUID do usuário na base biométrica.
Atribuir permissões ao usuário na tabela UserPermission
Após criar o usuário, é preciso atribuir suas permissões. Para isso, insira um registro na tabela SMART.UserPermission
para cada permissão que o usuário deve ter, relacionando o UserId
com o PermissionId
.
Lista de permissões disponíveis
O PermissionId
está especificado na tabela a seguir:
1
Permissão de listagem de cadastro civil, 2º via, etc.
CIVIL
2
Permissão de listagem de cadastro criminal.
CRIMINAL
3
Permissão de visualização da tela de layout.
LAYOUT
4
Permissão de visualização da tela de busca avançada.
PESQUISA
5
Permissão para realizar captura de biometrias.
CAPTURA
6
Permissão para realizar download de biometrias, impressão de protocolo e prontuário.
DOWNLOAD
7
Permissão para realizar conferência de biográficos.
CONFERENCE
8
Permissão para realizar a baixa de malotes.
PACKAGE
Associar o usuário a uma estação na tabela UserStation
Insira um registro na tabela UserStation
relacionando o UserId
com o StationId
. A estação deve estar configurada previamente na tabela SMART.Station
, como explicado anteriormente.
UserId
: Utilize oUserId
do usuário, como consta na tabelaSMART.User
.StationId
: Preencha com o ID da estação à qual o usuário será associado, como consta na tabelaSMART.Station
.
Procedure de criação de Usuário, alocação de posto e permissões
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) -- Permissões separadas por vírgula (ex: '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;
-- Insere um novo usuário na tabela User
INSERT INTO `User` (`CPF`, `Username`, `Admin`, `Active`, `Pguid`)
VALUES (p_CPF, p_Username, p_Admin, p_Active, p_Pguid);
-- Obtém o último ID inserido na tabela User
SET user_id = LAST_INSERT_ID();
-- Loop para inserir as permissões
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);
-- Inserir permissão na tabela 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;
-- Insere associação do novo usuário com uma estação na tabela UserStation
INSERT INTO `UserStation` (`UserId`, `StationId`)
VALUES (user_id, p_StationId);
END //
DELIMITER ;
Exemplo de chamada do procedure
Argumentos:
CPF (somente números)
Username (igual ao LDAP)
Admin (
0
: false,1
: true)Ativo (
0
: false,1
: true)PGUID do GBDS (procurar CPF no GBDS)
ID da estação
Permissões separadas por vírgula
Chamar o procedimento armazenado para inserir um novo usuário:
CALL InsertNewUser('12345678900', 'new_user', 0, 1, NULL, 1,'1,4,5,6,7');
O exemplo acima cria um novo usuário com CPF 123.456.789-00
, nome de usuário new_user
, não administrador, ativo, sem PGUID, associado à estação com ID 1
e com as permissões 1,4,5,6,7
.
Atualizado