Usuários com Senhas
Moderador: Moderadores
-
Hasse
- Usuário Nível 4

- Mensagens: 820
- Registrado em: 19 Out 2004 10:30
- Localização: Jaraguá do Sul - SC
Usuários com Senhas
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 ?
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 ?
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Usuários com Senhas
Fiquei na dúvida se a validade vai ser por módulo ou geral.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.
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, .T. ) pra atualizar
E de repente, pra uma senha geral do aplicativo:
ValidLogin( "GERAL" )
ValidLogin( "GERAL", .T. )
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Usuários com Senhas
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.
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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
Hasse
- Usuário Nível 4

- Mensagens: 820
- Registrado em: 19 Out 2004 10:30
- Localização: Jaraguá do Sul - SC
Usuários com Senhas
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 ?
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 ?
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Usuários com Senhas
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.
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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Usuários com Senhas
Minha experiência é limitada ao que eu uso.Hasse escreveu:Com a tua prática e experiência, qual opção me recomendarias ?
É 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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
Hasse
- Usuário Nível 4

- Mensagens: 820
- Registrado em: 19 Out 2004 10:30
- Localização: Jaraguá do Sul - SC
Usuários com Senhas
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.
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.
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Usuários com Senhas
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
Hasse
- Usuário Nível 4

- Mensagens: 820
- Registrado em: 19 Out 2004 10:30
- Localização: Jaraguá do Sul - SC
Usuários com Senhas
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...
Pô amigo, e você afirmou que conhece pouco de senhas e login...
Este último POST afirma o contrário.... Entende e muito...
Parabéns...
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)