# User login

As **Regras de Login** são um sistema de controle de acesso avançado que permite aos administradores definir políticas granulares para controlar **quando** e **onde** os usuários podem acessar o sistema F-Safer. Esta funcionalidade atua como uma camada adicional de segurança, permitindo que organizações implementem políticas de acesso específicas baseadas em critérios como horários, localização (IP), perfis de usuário e ações automatizadas.

## Principais Funcionalidades

<table data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong>Controle Temporal</strong></td><td>Defina janelas de tempo específicas para acesso, configurando horários permitidos por dias da semana. O sistema implementa bloqueio automático fora dos períodos autorizados.</td></tr><tr><td><strong>Controle de Origem</strong></td><td>Restrinja acessos por endereços IP ou faixas de IPs, com suporte a múltiplos formatos. Garante que apenas usuários de locais autorizados possam acessar o sistema.</td></tr><tr><td><strong>Segmentação de Usuários</strong></td><td>Aplique regras para todos os usuários, configure políticas específicas por usuário individual ou use filtros baseados em atributos. Diferentes perfis recebem tratamentos apropriados.</td></tr><tr><td><strong>Ações Automatizadas</strong></td><td>Quatro tipos de ações disponíveis: Accept (permite automaticamente), Reject (bloqueia), Review (solicita aprovação) e Notify (envia notificação).</td></tr><tr><td><strong>Sistema de Prioridades</strong></td><td>Controle robusto da ordem de aplicação das regras e resolução de conflitos. Garante que regras críticas de segurança sejam sempre avaliadas antes de regras permissivas.</td></tr></tbody></table>

{% hint style="success" %}

## Casos de Uso Comuns

**Controle de Horário Comercial**&#x20;

Permitir acesso apenas durante o expediente, bloqueando tentativas de login fora do horário de trabalho.

**Segurança por Localização**&#x20;

Restringir acesso a redes corporativas específicas, impedindo logins de locais não autorizados.

**Aprovação para Acesso Crítico**&#x20;

Exigir aprovação de supervisores para acesso a sistemas críticos ou fora do horário normal.

**Auditoria e Compliance**&#x20;

Manter registros detalhados de tentativas de acesso e implementar políticas de conformidade.
{% endhint %}

***

## Como Configurar Regras de Login

{% stepper %}
{% step %}

### Passo 1: Acessar o Módulo de Regras de Login

1. No menu lateral esquerdo, navegue até **Rules** → **User Login**
2. Você verá uma lista das regras existentes (inicialmente vazia)
3. Clique no botão **"+ Create"** para criar uma nova regra
   {% endstep %}

{% step %}

### Passo 2: Configurações Básicas

Na tela de criação, configure os campos fundamentais:

**Nome da Regra**

* Insira um nome descritivo para identificar a regra
* Exemplo: "Acesso Horário Comercial", "Aprovação Acesso Crítico"

**Prioridade**

* Defina um valor entre 1-100 (padrão: 50)

{% hint style="success" %}
**Importante:** Valores menores têm prioridade maior

* Use prioridades baixas (1-30) para regras críticas
* Use prioridades altas (70-100) para regras gerais
  {% endhint %}
  {% endstep %}

{% step %}

### Passo 3: Definir Usuários Alvo

Escolha uma das três opções disponíveis:

{% tabs %}
{% tab title="Opção 1: Todos Usuários" %}

* Aplica a regra para todos os usuários do sistema
* Ideal para políticas corporativas gerais
  {% endtab %}

{% tab title="Opção 2: Especificar Usuários" %}

* Permite selecionar usuários específicos
* Clique no campo "Selecione" e escolha os usuários desejados
* Ideal para regras personalizadas
  {% endtab %}

{% tab title="Opção 3: Filtro de Atributos" %}

* Permite filtrar usuários baseado em atributos específicos do perfil
* Clique em "Filter by attribute" e depois no botão "Add" para criar filtros
* Selecione o atributo (ex: "Name", "Department", "Role")
* Escolha o tipo de correspondência (ex: "Equals", "Contains")
* Defina o valor do atributo que deve ser correspondido
* Útil para aplicar regras a grupos, departamentos ou funções específicas
* Permite múltiplos filtros combinados para segmentação precisa
  {% endtab %}
  {% endtabs %}
  {% endstep %}

{% step %}

### Passo 4: Configurar Restrições de IP

No campo **IP**, você pode definir restrições de origem:

**Formatos Suportados:**

* IP único: `192.168.1.10`
* Faixa de IPs: `192.168.1.0/24`
* Múltiplos IPs: `192.168.1.10, 192.168.1.20`
* Ranges IPv6: `2001:db8::1/64`
  {% endstep %}

{% step %}

### Passo 5: Definir Períodos de Acesso

Configure os horários permitidos usando a grade de tempo:

**Como usar a grade:**

1. A grade está dividida em duas colunas: **00:00-12:00** e **12:00-24:00**
2. Clique e arraste para selecionar os períodos permitidos
3. Configure para cada dia da semana separadamente

**Opções de seleção:**

* **Selecionar tudo**: Permite acesso 24/7
* **Limpar seleção**: Remove todas as seleções
* **Seleção manual**: Clique nos quadros específicos

{% hint style="danger" %}

### Atenção!

Caso nenhum intervalo seja selecionado, a regra será aplicada para todo período 24/7
{% endhint %}

{% hint style="info" %}

#### **Exemplo de configuração:**

* Segunda a Sexta: 08:00-18:00 (horário comercial)
* Sábado: 08:00-12:00 (meio período)
* Domingo: Bloqueado (sem seleção)
  {% endhint %}
  {% endstep %}

{% step %}

### Passo 6: Configurar Ações

Defina o que acontece quando a regra é ativada:

**Ação Principal** Escolha uma das opções:

* **Accept**: Autoriza o acesso automaticamente
* **Reject**: Bloqueia o acesso impedindo o login
* **Review**: Redireciona para um fluxo de aprovação/revisão onde um supervisor deve aprovar
* **Notify**: Permite acesso e envia notificação para administradores designados

**Ativação**

* Marque esta opção para que a regra seja aplicada imediatamente
* Desmarque para criar a regra sem ativá-la

{% hint style="success" %}

#### Processo de Aprovação (Review)

Quando uma regra com ação **Review** é ativada:

1. **Para o Usuário:**
   * O login é temporariamente bloqueado
   * Uma mensagem informa que aprovação é necessária
   * O usuário deve aguardar a decisão do supervisor
2. **Para o Supervisor:**
   * Recebe notificação sobre solicitação de acesso
   * Pode aprovar, rejeitar ou solicitar mais informações
   * Decisão é registrada no sistema para auditoria
3. **Após Aprovação:**
   * Se aprovado: usuário pode fazer login normalmente
   * Se rejeitado: acesso permanece bloqueado
     {% endhint %}

{% hint style="success" %}

#### Sistema de Notificações

A ação **Notify** envia alertas para administradores através de notificações no sistema:

**Informações Detalhadas Incluídas:**

* **User**: Nome e identificação do usuário que fez login
* **IP**: Endereço IP de origem da conexão
* **Login city**: Localização geográfica (quando disponível)
* **User agent**: Informações do navegador e sistema operacional utilizado
* **Mensagem de segurança**: Orientação para revisar a atividade de login
  {% endhint %}
  {% endstep %}

{% step %}

### Passo 7: Adicionar Observações

Use o campo **Observação** para:

* Documentar o propósito da regra
* Incluir informações de contato para aprovações
* Registrar datas de revisão ou expiração
  {% endstep %}

{% step %}

### Passo 8: Salvar e Ativar

1. Clique em **"Submit"** para criar a regra
2. Ou clique em **"Save & continue"** para criar múltiplas regras

{% endstep %}
{% endstepper %}

***

## Exemplos Práticos de Configuração

<details>

<summary>Exemplo 1: Regra de Horário Comercial</summary>

* **Nome:** "Acesso Horário Comercial"
* **Prioridade:** 30
* **Usuários:** Todos Usuários
* **IP:** Qualquer
* **Período:** Segunda-Sexta 08:00-18:00
* **Ação:** Accept

</details>

<details>

<summary>Exemplo 2: Acesso Crítico com Aprovação</summary>

* **Nome:** "Acesso Crítico - Aprovação Obrigatória"
* **Prioridade:** 10
* **Usuários:** Especificar (administradores)
* **IP:** 192.168.1.0/24
* **Período:** Fora do horário comercial
* **Ação:** Review

</details>

<details>

<summary><strong>Exemplo 3: Monitoramento de Acesso de Administradores</strong></summary>

* **Nome:** "Notificação Admin"
* **Prioridade:** 35
* **Usuários:** Especificar (administradores)
* **IP:** Qualquer
* **Período:** Sempre
* **Ação:** Notify

</details>

## Dicas Importantes

**Ordem de Prioridade**

* Regras com menor número têm prioridade maior
* Teste sempre a ordem de aplicação
* Use gaps (10, 20, 30) para facilitar inserções futuras

**Testes e Validação**

* Crie regras de teste em ambientes não-produtivos
* Monitore logs de acesso após implementar novas regras

**Manutenção**

* Revise regras periodicamente
* Documente mudanças no campo Observação

{% hint style="danger" %}

## Resolução de Problemas

**Problema:** Usuário não consegue acessar

* Verifique se não há regras conflitantes
* Confirme prioridades das regras
* Valide configurações de IP e horário

**Problema:** Regra não está sendo aplicada

* Confirme se a regra está ativada
* Verifique a prioridade em relação a outras regras
* Confirme se os critérios de usuário/IP estão corretos
  {% endhint %}
