- Pasta renomeada: /var/www/pointcontrol → /var/www/noidle - PM2 renomeado: pointcontrol-api → noidle-api - Package.json backend atualizado - Package.json frontend atualizado - Todas as referências de código atualizadas - Documentação atualizada - Script de migração executado com sucesso - Backup criado em /tmp/ - Sistema testado e funcionando Resolução: Organização completa da estrutura bagunçada
2.3 KiB
2.3 KiB
Monitoramento de Logon/Logoff do Windows
O que foi corrigido
O cliente agora monitora eventos reais de logon/logoff do Windows usando o Windows Event Log, não apenas quando o NoIdle inicia/fecha.
Como funciona
- Monitoramento do Event Log: O cliente lê o log de segurança do Windows a cada 60 segundos
- Eventos detectados:
- Evento 4624: Logon bem-sucedido
- Evento 4634: Logoff bem-sucedido
- Evento 4647: Logoff iniciado pelo usuário
Permissões necessárias
⚠️ IMPORTANTE: Para ler o Event Log de segurança, o NoIdle precisa rodar com permissões elevadas ou o usuário precisa ter permissão para ler o log de segurança.
Opção 1: Executar como Administrador (Recomendado)
- Clique com botão direito no
NoIdle.exe - Selecione "Executar como administrador"
- Ou configure para sempre executar como admin:
- Clique com botão direito → Propriedades → Compatibilidade
- Marque "Executar este programa como administrador"
Opção 2: Dar permissão ao usuário (Avançado)
Se não quiser executar como admin, pode dar permissão específica:
- Abra o Editor de Política de Grupo Local (
gpedit.msc) - Navegue até: Configuração do Computador → Configurações do Windows → Configurações de Segurança → Políticas Locais → Atribuição de Direitos do Usuário
- Encontre: "Gerar auditorias de segurança"
- Adicione o usuário ou grupo que executa o NoIdle
Verificação
Após atualizar o cliente:
- Faça logoff do Windows (Win + L, depois logoff)
- Faça logon novamente
- Verifique os logs do servidor:
pm2 logs noidle-api --lines 30 - Procure por:
🔐 Evento de sessão: logon - [device_id] (username) 🔐 Evento de sessão: logoff - [device_id] (username)
Método alternativo
Se o Event Log não estiver acessível (sem permissões), o cliente usa um método alternativo que detecta mudanças de sessão. Este método é menos preciso, mas ainda funciona.
Dependências
O código usa:
win32evtlog: Para ler o Event Log do Windowswin32evtlogutil: Para formatar mensagens de eventos
Essas bibliotecas já estão incluídas no pywin32, que deve estar nas dependências do projeto.