COMO SABER SE O USUARIO SAIUR DO MEU SISTEMA

CLAUDIOLUCROCHA 15/12/2006 17:45:23
#190274
Para fazer com que o usuario nao entre em uma pagina do meu sistema direto sem fazer login tenho que criar uma variavel de secao e em cada pagina verificar se ela existe. OK

Mais como saber que eles sair do sistema para dar o "session.abandon". Pois o cara pode digitar alguma coisa na url e sair do sistema.


TRUHILLO 15/12/2006 18:34:22
#190283
Bom, pelo que eu li na Bíblia do ASP, os aplicativos web não conseguem fazer esse controle para saber se o usuário ainda está usando alguma página.

Mas para amenizar o problema, todas as sessões no ASP tem um time out padrão no IIS 5 é de 10 minutos, ou seja, se o usuário não requisitar nada durante esse período, o servidor "entende" que ele foi embora e encerra a sessão.

Vc pode definir um tempo diferente, como 10 minutos, usando:

Session.TimeOut = 5


O Session.Abandon foi criado para permitir um minimo de controle do usuário sobre a sua sessão e ajudar a diminuir os aplicativos em execução no servidor.
USUARIO.EXCLUIDOS 15/12/2006 18:42:23
#190285
Complementando o que disse o TRUHILLO,

Você pode usar em um global.asa uma instrução sql
no Session on end.

Como uma sessão é medida por sua inatividade , digamos
que vc atribui a ela o valor de 5000 = 5 minutos se não me engano,
após essa inatividade a sessão termina e a intrução sql elimina o usuario do banco de dados.
ex:
Session on end
conexao.execute delete from usuario
Isso supondo que vc utilize um banco para controlar.
USUARIO.EXCLUIDOS 15/12/2006 21:50:43
#190312
Corrigindo.

Session.Timeout=5
Equivale a 5 minutos
WEBER 15/12/2006 22:38:28
#190315
Resposta escolhida
vamos por partes

vc pode criar um procedimento para a verificação, bla, bla ,

aqui estamos conferindo o nome e senha e acionando o a session
  If UserName = RS("usuario") And PassWord = RS("senha") Then
Session("allow") = True
'Session("validacao") = RS("permissao")
'Level = RS("permissao")
'*obtendo o id do usuario
Session("Idusu") = RS("cusu")
'*obtendo o nome do usuarios
Session("Idnome") = RS("usuario")
End If

aqui estamos definindo depois da session definida vc pode utilizar um campo na tabela usuario se quiser criar menus diferenciados para cada

If Session("allow") = True Then
If Level = 1 Then Response.Redirect "menu.asp"
Response.Redirect "menu.asp"
If Level = 2 Then Response.Redirect "menusuario.asp"
Else
Response.Redirect "negado.asp"
End If


para vc bloquear o acesso a uma pagina vc usa essa linha
If session("allow") = False Then Response.Redirect "pag redirecionamento.asp"


quanto a vc controlar o acesso do usuario como os amigos comentaram vc tem q deixa-lo livre, geralmente se vc nao definir nada diferente as paginas asp tem por uma sessão padrao de 10 minutos, agora nao estou meio lembrado e com preguição de acessar algum site mas pelo que me lembro se vc nao estiver usando cookies, ao fechar o browser vc estara encerrando a sessão tb.
Agora eu por exemplo deixo por padrao eu configura uma cookie para controlar essa situação mas infelizmente essa é uma das desvantagens do asp....

bom o metodo de abandono o pessoal ja comentou ai emcima.


USUARIO.EXCLUIDOS 16/12/2006 16:34:37
#190401
Você pode fazer assim quando ele se logar no sistema pega o id dele e a data e hora inicio e para ele sair colocar um botão fechar para sair do sistema ai você atualiza esse registro que você colocou com a data e hora final
Tópico encerrado , respostas não são mais permitidas