COMO SABER SE O USUARIO SAIUR DO MEU SISTEMA
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.
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.
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:
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.
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.
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.
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.
Corrigindo.
Session.Timeout=5
Equivale a 5 minutos
Session.Timeout=5
Equivale a 5 minutos
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
aqui estamos definindo depois da session definida vc pode utilizar um campo na tabela usuario se quiser criar menus diferenciados para cada
para vc bloquear o acesso a uma pagina vc usa essa linha
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.
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.
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