Página 1 de 1
Usuários com Senhas
Enviado: 16 Abr 2023 09:08
por Hasse
Bom dia.
Tenho um programa com vários módulos onde os usuários podem acessar com senha e login.
Hoje o login é válido somente para o módulo que está sendo acessado.
O Login é destruído ao sair do módulo.
Ao entrar novamente no mesmo módulo é necessário digitar a senha novamente.
Desejo ativar um login que seja válido para todos os módulos, mas que expire automaticamente após determinado tempo de inatividade.
Procurei no site mas nada encontrei.
Alguém pode me dar uma luz, uma direção para seguir com o objetivo de atingir esta meta ?
Usuários com Senhas
Enviado: 16 Abr 2023 10:34
por JoséQuintas
Hasse escreveu:Desejo ativar um login que seja válido para todos os módulos, mas que expire automaticamente após determinado tempo de inatividade.
Fiquei na dúvida se a validade vai ser por módulo ou geral.
Só pra dar uma idéia, verifique variável datetime e funções com datetime
Código: Selecionar todos
FUNCTION ValidLogin( cModulo, lUpdate )
LOCAL nPos, lValido
STATIC aModuleList := { ;
{ "modulo", Nil, ;
{ "modulo2", Nil } }
nPos := hb_ASCan( aModuleList, { | aInfo | cModule == aInfo } )
IF nPos == 0
AAdd( aModuleList, { cModulo, Nil } )
nPos := Len( aModuleList )
ENDIF
IF lUpdate
aModuleList[ nPos, 2 ] := HoraAtual()
RETURN Nil
ENDIF
cAtual := HoraAtual()
lValido := ( Empty( aModuleList[ nPos, 2 ] ) .OR. CalculaTempo( aModuleList[ nPos, 2 ], HoraAtual() ) < "?????" )
RETURN lValido
ValidLogin( cModulo ) pra validar
ValidLogin( cModulo, .T. ) pra atualizar
E de repente, pra uma senha geral do aplicativo:
ValidLogin( "GERAL" )
ValidLogin( "GERAL", .T. )
Usuários com Senhas
Enviado: 16 Abr 2023 10:40
por JoséQuintas
E tem outra coisa a ser vista, caso use senha geral:
Um usuário supervisor deixa lá, expira, e vém um usuário comum e faz login.
liberar tudo pro novo login pode causar estrago.
ou o supervisor faz login num módulo que só ele pode, e vém outro usuário depois.
vai ficar liberado pro novo usuário.
Se não tomar cuidado, ao invés de aumentar a proteção, vai estar é liberando aonde não deve.
Usuários com Senhas
Enviado: 16 Abr 2023 13:42
por Hasse
Boa tarde Quintas.
Excelente a tua obervação quanto aos cuidados. Deste detalhe eu já cuidei pois cada um tem o seu Login, Senha e nível de acesso.
Todos os módulos fazem a checagem dos direitos de cada qual. Se acesso total, só consulta ou não permite acesso.
Eu tenho em mente que o Login + nível sejam de âmbito total, ou seja, em todo o programa e não só no módulo atual. E uma vez decorrido o tempo estipulado, somente aquele Login é zerado, ou seja não permite mais nenhum acesso, sendo que um outro que eventualmente está logado cujo tempo ainda não decorreu é mantido. Acho meio complicado....
Contudo, ficarei atento, pois ainda cogito de permitir somente um Login ativo por terminal, ou seja, se um Login estiver ativo e outro for logado, automaticamente o primeiro é zerado ou deletado.
Com a tua prática e experiência, qual opção me recomendarias ?
Usuários com Senhas
Enviado: 16 Abr 2023 14:23
por JoséQuintas
Considerando aquela mesma rotina, "talvez" outra STATIC com usuário.
Se mudar usuário, limpar a lista, e começar tudo de novo.
Aqui faço diferente:
Só aparecem as opções que o usuário pode usar.
Se fosse colocar tempo, seria pra fechar tudo e reiniciar a partir do login, só controlaria tempo mesmo.
Não sei se faltou outra questão no "bolo":
O login inicial, ele tem valor para os módulos ? ou cada novo módulo vai precisar de novo login ?
Senão, o default inicial por módulo deveria ser o geral, e não do zero.
Usuários com Senhas
Enviado: 16 Abr 2023 14:36
por JoséQuintas
Hasse escreveu:Com a tua prática e experiência, qual opção me recomendarias ?
Minha experiência é limitada ao que eu uso.
É esse login usuário/senha, que libera o que pode usar, e vai fechando após um período de tempo.
Não tenho casos mais exigentes que isso.
Os níveis são apenas 3:
- usuário
- supervisor da empresa
- eu
Nas definições de acesso, duas opções:
- grupo
- usuário
Um usuário pode pertencer a mais de um grupo.
Se tá liberado para o grupo, fica liberado pra usuários do mesmo grupo.
Então o usuário pode acessar:
- Tudo, se for eu
- Supervisor é o que pode modificar permissões
- Supervisor ou não, tudo que estiver liberado pra senha dele
- Supervisor ou não, tudo que estiver liberado para algum grupo que ele pertença
- Supervisor só pode liberar o que ele tem acesso, pra outros
Um efeito colateral: se um supervisor com menos acessos for mexer, ele acaba removendo acessos.
Nunca me preocupei com isso, porque geralmente cada empresa só tem um supervisor.
Usuários com Senhas
Enviado: 17 Abr 2023 09:21
por Hasse
Bom dia Quintas.
São de grande utilidade as consideração que você colocou.
Abriu muito mais a minha visão sobre o assunto.
Obrigado.
Um Abraço e uma boa semana de trabalho.
Usuários com Senhas
Enviado: 17 Abr 2023 09:55
por JoséQuintas
Usuários com Senhas
Enviado: 17 Abr 2023 18:23
por Hasse
Boa tarde Quintas.
Pô amigo, e você afirmou que conhece pouco de senhas e login...
Este último POST afirma o contrário.... Entende e muito...
Parabéns...