Árvore de páginas

 GERENCIAMENTO DE ACESSO A DISPOSITIVOS

Produto: Automação da Força de Vendas
Linha de Produto: TOTVS CRM
Segmento: Cross Segmentos
Módulo: Configuração - Sincronização > Dispositivos
Aplicação: Web/app móvel
Identificador: DTSFAPD-2452 - DTSFAPD-2453

    VISÃO GERAL

A melhoria aprimora a segurança e o gerenciamento de dispositivos no ambiente mobile. Com esta atualização, é possível controlar quais dispositivos têm permissão para acessar a aplicação, permitindo bloqueios e gerenciamento detalhado de cada dispositivo.


    OBJETIVO

O principal objetivo é oferecer aos administradores de acesso a capacidade de gerenciar e controlar quais dispositivos podem sincronizar com o sistema. Isso inclui a possibilidade de bloquear dispositivos já cadastrados e gerenciar o acesso de novos dispositivos.

  ANTES DE COMEÇAR

Requisitos

A funcionalidade afeta o gerenciamento de dispositivos no TOTVS CRM SFA.

Parâmetro disponível sob a seção de sincronização de dispositivos.

  DETALHES FUNCIONAIS

Funções

  1. Controle de acesso para novos dispositivos baseado no parâmetro "sim3g.dispositivo.bloqueio.novo"
  2. Possibilidade de bloquear dispositivos e impedir novas sincronizações.
  3. Use a opção "Bloqueio permanente" para controlar o acesso dos dispositivos.
  4. Integração com o cadastro de profissionais para sugerir bloqueio de dispositivos ao inativar um usuário.

  COMO USAR?

Passo a Passo

  1. Configuração do Parâmetro para Novos Dispositivos:

    • Ajuste o parâmetro "sim3g.dispositivo.bloqueio.novo" para controlar automaticamente o acesso de novos dispositivos que se conectam ao sistema pela primeira vez.
  2. Gerenciamento de Dispositivos no Cadastro Geral:

    • Acesse a tela "Cadastro > Geral > Dispositivo" no TOTVS CRM SFA. Aqui, você pode visualizar e gerenciar tanto os dispositivos novos quanto os já existentes.
  3. Uso da Opção 'Bloqueio Permanente':

    • Utilize o campo "Bloqueio permanente" disponível para cada dispositivo listado para controlar o acesso de dispositivos específicos. Marque como "Sim" para bloquear ou "Não" para permitir o acesso.


 EXEMPLO PRÁTICO

Desafio Antigo:

Dificuldade em controlar e gerenciar o acesso de dispositivos específicos ao sistema TOTVS CRM SFA.


Solução Atualizada:

Com a nova funcionalidade, os administradores podem agora gerenciar de forma eficiente o acesso dos dispositivos, oferecendo maior segurança e controle sobre a utilização da aplicação.


  DETALHES TÉCNICOS

  1. Banco de Dados

    • • Tools, Opção 3: No sistema, adicionar na tabela 'wssynclog' a coluna 'iddispositivo', que é uma FK para a tabela 'dispositivo', e pode ser nula.
    • • Tools, Opção 5: Criar um novo registro na tabela 'parâmetro' seguindo o especificado no changeSet fornecido, detalhando as características do novo parâmetro relacionado ao bloqueio de dispositivos.

  2.    <changeSet author="systemScript" failOnError="false" id="" runOnChange="true">
        <preConditions onError="HALT" onFail="MARK_RAN" onSqlOutput="IGNORE">
            <customPrecondition className="com.wealthsystems.sim3g.dao.hibernate.api.liquibase.custom.precondition.RegisterExistsPrecondition">
                <param name="table" value="TipoAprovacao"/>
                <param name="column" value="sglTipoAprovacao"/>
                <param name="value" value="'PEDIDO_BLOQUEIO'"/>
            </customPrecondition>
        </preConditions>
        <insert tableName="tipoaprovacao">
            <column name="idtipoaprovacao" valueSequenceNext="SEQPKTIPOAPROVACAO"/>
            <column name="descricao" valueComputed="'Aprovação vinculada a tipos de bloqueios que requerem aprovação'"/>
            <column name="sgltipoaprovacao" valueComputed="'PEDIDO_BLOQUEIO'"/>
            <column name="idnativo" valueComputed="1"/>
            <column name="codigoerp" valueComputed="null"/>
            <column name="codigo" valueComputed="null"/>
            <column name="observacao" valueComputed="null"/>
            <column name="wsversao" valueComputed="null"/>
        </insert>
        <comment></comment>
          

  3. Banco de DadosRefatoração de tela de cadastro dispositivo

    • • A tela "Cadastro > Geral > Dispositivo" deverá possuir grid com as seguintes especificações:
    • ◦ "Descrição": Campo textual, editável, default vazio. Persistência no campo dispositivo.descricao
    • ◦ "Marca": Campo textual, não editável, inserido pela sincronização persistindo a informação da marca do dispositivo. Persistência no campo dispositivo.marca
    • ◦ "Modelo": Campo textual, não editável, inserido pela sincronização persistindo a informação do modelo do dispositivo. Persistência no campo dispositivo.modelo
    • ◦ "ID": Campo textual, não editável, inserido pela sincronização persistindo a informação do "AndroidId" do dispositivo. Persistência no campo dispositivo.identificador
    • ◦ "Telefone": Campo numérico, editável, máscara de telefone. Persistência no campo dispositivo.numero
    • ◦ "Profissional": Campo pesquisa, não editável, exibindo nome do usuário associado ao dispositivo. Dispositivos que não autenticaram corretamente com um usuário, não devem ser cadastrados. A intenção é que esse campo nunca seja vazio. Persistência no campo dispositivo.idusuario
    • ◦ "Veículo": Campo pesquisa, editável, buscando a entidade veiculo, exibindo somente registros ativos. Persistência no campo dispositivo.idveiculo
    • ◦ "Última transmissão": Campo textual, não editável, exibindo data/hora da última sincronização associada ao dispositivo. Persistência no campo dispositivo.ultimatransmissao
    • ◦ "Situação": Campo check-box, editável, opções Sim/Não. Ao sincronizar, caso o dispositivo estiver inativado o dispositivo será atualizado para ativo. O bloqueio do dispositivo deverá acontecer somente pelo campo "Bloqueado". Persistência no campo dispositivo.idnativo
    • ◦ "Sistema Operacional": Campo textual, não editável, inserido pela sincronização persistindo a informação do SO do dispositivo. Persistência no campo dispositivo.sistemaoperacional
    • ◦ "Versão": Campo textual, não editável, inserido pela sincronização persistindo a informação do número da versão do SO do dispositivo. Persistência no campo dispositivo.versaoso
    • ◦ "Bloqueado": Campo check-box, editável, opções Sim/Não. Persistência no campo dispositivo.idnbloqueiopermanente
    • A tela deverá receber os seguintes novos filtros avançados:
    • ◦ "Usuário": campo de pesquisa, múltipla escolha, exibindo usuarios ativos. Ao selecionado, fará filtragem pelo campo dispositivo.idusuario
    • ◦ "Situação": Checkbox, com opções: "Ativo" e "Inativo". Somente a opção Ativo deve vir marcada por padrão. Ao carregar a tela, somente deverão ser exibidos registros de dispositivos ativos. Ao selecionado, fará filtragem pelo campo dispositivo.idnativo
    • ◦ "Bloqueado": Checkbox, com opções "Sim" e "Não". As duas opções devem vir marcadas por padrão. Ao selecionado, fará filtragem pelo campo dispositivo.idnbloqueiopermanente
    • Ao sincronizar, caso a combinação dos campos dispositivo.identificador + dispositivo.idusuario não esteja cadastrada no sistema, o sistema deverá adicionar novo registro na tabela dispositivo. Caso a combinação dos campos dispositivo.identificador + dispositivo.idusuario esteja cadastrada no sistema, o sistema deverá atualizar o registro de dispositivo.
    • ◦ Em ambos os casos, os seguintes campos deverão ser atualizados:
      • ◦ Marca
      • ◦ Modelo
      • ◦ Última transmissão
      • ◦ Situação
      • ◦ Sistema Operacional
      • ◦ Versão

  4. • Vinculação de dispositivos com controle de sincronização (wssynclog)

    • ◦ Ao sincronizar, autenticando com sucesso, ao persistir o registro de log na tabela wssynclog, o sistema deverá popular a coluna wsynclog.iddispositivo, buscando o iddispositivo pela consulta a seguir:
     
          /* 
          select iddispositivo from dispositivo where identificador = ${AndroidID} and idusuario = ${wssynclog.idusuario}
          */ 
        

    • ◦ Caso não seja encontrado, um novo dispositivo deverá ser persistido na tabela dispositivo.
    • ◦ Caso o parâmetro "sim3g.dispositivo.bloqueio.novo" estiver com valor 1,
    • ◦ O campo dispositivo.idnbloqueiopermanente deverá ser persistido como 1.
    Caso contrário,
    • ◦ O campo dispositivo.idnbloqueiopermanente deverá ser persistido como 0.

  5. Sugestão de bloqueio de usuários inativados

    • • Na tela de cadastro de profissionais,

    • ◦ Ao inativar um profissional e clicar em gravar,
    • ◦ O sistema deverá consultar se existem dispositivos ativos ("Bloqueio permanente" = "Não") associados a ele, através da consulta a seguir:
     
      /* select iddispositivo from dispositivo where idusuario = ? and idnbloqueiopermanente = 0 */
      

    • • Se retornarem registros , o sistema deverá exibir pop-up de confirmação (Sim/Não), com a pergunta: "O profissional foi inativado, deseja bloquear os seus dispositivos associados?".

    • ◦ Caso selecionado "Sim", o sistema deverá atualizar a tabela de dispositivos do usuário, marcando o campo como "Bloqueio permanente" = "Sim"
     
      /* update dispositivo set idnbloqueiopermanente = 1 where idusuario = ? */
    

  6. Implementação de bloqueio de dispositivos

    • • Ao sincronizar, autenticando com sucesso,

    • ◦ Caso o aparelho contenha dados,
    • • Caso o dispositivo associado à sincronização (Ponto 3) possua o campo dispositivo.idnbloqueiopermanente = 1,

    • ◦ O sistema deverá receber os dados do aparelho (Aparelho > Servidor), porém, na etapa de receber dados (Servidor > Aparelho), o sistema deverá notificar o usuário com a seguinte mensagem: "O aparelho foi bloqueado para utilização do sistema e terá seus dados removidos".
    • ◦ Após a mensagem, o sistema deverá ter excluido todos os dados (DATS) do aparelho, encaminhando o usuário para a tela de login.
    • ◦ Caso contrário,
    • ◦ O sistema deverá executar a sincronização normalmente, sem bloqueios.
    • • Caso o aparelho não contenha dados,

    • ◦ Caso o dispositivo associado à sincronização (Ponto 3) possua o campo dispositivo.idnbloqueiopermanente = 1,
    • ◦ O sistema deverá cancelar a sincronização após a autenticação, e notificar o usuário com a seguinte mensagem: "O aparelho está bloqueado para utilização do sistema. Solicite liberação ao responsável, informando o código do dispositivo a seguir: ${AndroidID com opção para copiar o conteúdo para a clipboard}".
    • • Caso contrário,

    • ◦ O sistema deverá executar a sincronização normalmente, sem bloqueios.

PERGUNTAS FREQUENTES

  • question_answerPosso desbloquear um dispositivo depois de marcá-lo como permanentemente bloqueado?
    Sim, você pode alterar o status de "Bloqueio Permanente" para "Não" para permitir novamente a sincronização do dispositivo.