Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

asp0800

entrar e sair de uma pág. de administrador.

Recommended Posts

Alguém, pode me ajudar com esse script, pequeno, desde já agradeço a todos pela força.

Vejam só.

 

Está é a pag. default.htm que contem o form de login.

Até aqui tudo bem.

 

<html><head></head><body>

 

<form method="post" action="login.asp" name="frm_login">

 

Login: <input type="text" name="txt_login">

<br>

Senha: <input type="password" name="txt_senha">

<br>

<a href="#" onClick="frm_login.submit();"> Entrar </a>

 

</form>

</body>

</html>

 

Agora vamos ao login.asp.

 

<%

'Efetuando a conexão com a base de dados criada

Set Conn = Server.CreateObject("AdoDb.Connection")

Conn.provider="Microsoft.Jet.OLEDB.4.0"

Conn.connectionstring=Server.Mappath("/banco.mdb")

Conn.open

'Vamos capturar o login e a senha digitada no formulário frm_login da

'pág. default.htm.

 

var_login = Request.Form("txt_login")

var_senha = Request.Form("txt_senha")

 

'Agora verificamos se o usuário e a senha estão corretos

 

SQL = "select * from usuarios where login = '"&var_login&"' and senha = '"&var_senha&"' "

Set RS = Conn.Execute(SQL)

 

'Caso não esteja correto, indicamos o erro

If RS.EOF Then

Response.Write "Usuário ou senha inválida!"

Response.End

End If

 

'Se chegou até aqui, é porque o login e a senha estão corretos.

'Vamos então verificar o nível de acesso do usuário.

 

session("nivel_acesso") = RS("nivel")

'Colocamos numa session pois iremos utilizá-la em outras páginas.

 

Response.Redirect "administrador.asp" 'página restrita

%>

 

Até aqui tudo bem. Agora vamos a pág. restrita, a administrador.asp

 

<%

'A primeira coisa a ser feita é verificar se o usuário está logado

 

If session("nivel_acesso") = "" Then

Response.redirect "default.htm"

Response.End

End If

 

'Vamos então, verificar o nivel de acesso do usuário e inserirmos

'o conteúdo correspondente. Aqui, cada um insere o que desejar.

' Vou deixar em aberto para vocês poderem colocar o que precisam, ok?!

'Vou colocar apenas os nomes dos usuários indentificando qual está

' acessando a pág. administrador.asp

 

If session("nivel_acesso") = 3 Then 'administradores

%>

<a href="logout.asp">sair</a><br>

<br> administrador

<%

Elseif session("nivel_acesso") = 2 Then 'supervisores

%>

<a href="logout.asp">sair</a><br>

supervisor

<%

Else 'visitante

%>

<a href="logout.asp">sair</a><br>

visitante

<%

End If

%>

Agora vamos a uma outra página restrita. A relatorios.asp

 

<%

' Sistema de autenticação de usuários.

' Obs: Para cada página de acesso restrito, deve-se incrementar esse script.

' Isso para verificar o nível de acesso do usuário e evitar que um usuário de nível menor, possa

' acessar a página através da URL no browser.

' -----------------------------------------

' Tipos de níveis de acesso: 1 (visitantes) 2 (supervisores)

' e 3 (administradores).

 

If session("nivel_acesso") < 3 Then 'se não for administrador

Response.Write "Você não tem autorização para acessar esta página!"

Response.End

End If

'Faça isso para as demais páginas protegidas para o nível 3 e nível 2.

' Lembrando que nas páginas de nível 2, o If é < 2, ok?

%>

<br>

acesso a relatorios

 

Agora vamos a pág. logout.asp, para quando o usuário clicar em

sair a sessao seja abandonada e o usuario será automaticamente bloqueado precisando de informar seu login e senha novamente quando quiser acessar a pág. restrita como a administrador.asp e a relatorios.asp,

vamos ao código da pág. logout.asp.

 

<%

session("nivel_acesso") = ""

session.Abandon' após limpar a sessão, informando que o nível de acesso é vazio,

' retornará o usuario para a pág. de entrada de login e senha.

Response.Redirect "default.htm"

%>

 

Bom, aqui está o problema, acontece o seguinte:

 

1. ao clicar em sair da pág. administrador.asp ela abre a pág. logout.asp define o nivel_acesso como vazio e redireciona para a pág. default.htm, até aqui tudo bem, só que, quando eu estava na página default.htm eu ao invés de entrar novamente com meu login e senha resolvi entrar oelo browser digitando administrador.asp e ela permitiu o acesso mesmo eu tendo saído.

Mas se eu der um refresh aí sim ela executa aquele primeiro if e retorna para a página default.htm novamente, isso também acontece com a pág. relatorios.asp.

 

2. Como faço para quebrar esse cookie, se é que a falha é causado por ele.

Ou será que é para definir a variável nivel_acesso como cookie ao invés de session, me ajudem me escrevam informando passo a passo para criar esse logout.asp para não acontecer mais essa falha.

 

Valeu pessoal, um abraço a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso ocorre pq a pagina aidna continua em CACHE!!!por isso q ele permite!! coloque isso no topo de todas as suas páginas

<%Response.addHeader "pragma", "no-cache"Response.CacheControl = "Private"Response.Expires = 0%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu mesmo rOcKLoCo , funcionou perfeitamente, você nem sabe o quanto fico grato pela forçinha que me deu.Um forte abraço e até a próxima, qualquer coisa estarei sempre aqui.Se precisar de uma ajudinha estou aqui.Valeu...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.