HOME      QUASI-BLOG        CONTATO         
 
 
 


Controle de Acesso em ASP  retornar

Para os iniciantes em sistemas web um dos conceitos mais desafiadores é a característica de "falta de estado" entre uma requisição e outra ao servidor já que numa aplicação cliente/servidor todas as variáveis de um script são perdidas ao acessarmos um outro.

Para contornar essa limitação podemos contar com a passagem de valores por meio de formulários, "strings" associadas às URLs, variáveis Session e Application.

Request.Form

Os valores passados em formulários podem ser recuperados através do objeto REQUEST que contêm um método FORM para essa missão, assim um REQUEST.FORM("nome") poderia ser usada para recuperar um nome digitado em um formulário anterior.

Vejamos um pequen exemplo com trechos de 2 páginas asp, uma o formulário e outra a que responde ao comando ACTION do FORM:

.......... o formulário em html

<form action="auth.asp" method="post">
usuario: <input type="text" name="usuario"> <br />
senha :<input type="text" name="senha"><br />
<input type="submit" name="Submit" value="Ok">
</form>

e aqui como o mesmo seria visto :

usuário :
senha:   

e na script auth.asp podemos recuperar o que foi digitado com:
........................ auth.asp

meuUsuario = request.form("usuario")
minhaSenha = request.form("senha")


 

 

Request.Querystring

Por outro lado se uma rotina ASP e acionada via uma URL como www.meusite.com.br/programa1.asp?id=35, podemos contar com outro método QUERYSTRING para recupera o valor de "id", como por exemplo :

meuID = request.querystring("id")

 

Variáveis de Sessão

A cada novo acesso a uma página de um site ASP o servidor cria uma Session.ID única para aquele acesso, essa identificação perdura enquanto o usuário continua navegando pelo site e se mantêm ativa por algum tempo (em geral 20 minutos).

O mais interessante entretanto é que podemos em nossos scripts ASP criar nossas variáveis de sessão, dar nomes a elas e atribuir o valor que desejemos nas mesmas. E graças ao recurso do controle do Session.ID, o servidor consegue distinguir as variáveis de uma sessão das outras de outra.

Meio confuso não ?

Vamos exemplificar, suponha que após o usuário informar o seu nome no formulário do exemplo acima pretendamos exibir o nome do mesmo em todas as páginas subsequentes sem a necessidade de usar o formulário novamente, como faríamos isso ?

Simples, criamos uma váriavel de sessão USUÁRIO logo após a captura do valor digitado,

....................... auth.asp

meuUsuario = request.form("usuario")
minhaSenha = request.form("senha")

Session("usuario") = meuUsuario

Feito isso, podemos contar com essa variável em outros scripts desde que a sessão não se expire ou seja encerrar por meio do comando Session.abandon().

Desse ponte em diante já temos os recursos necessários para pensar em uma solução para o controle de acesso a um site ASP, ou não?

Usualmente o que esperamos de um site com controle de acesso ?

  • que qualquer página/script só possa ser acessada por usuários autorizados

E como seria o algoritmo para esse proceso ?

  1. Para cada página acessada, verifique se o usuário foi "autenticado"
  2. Se o usuário está autenticado dê acesso a página
  3. Se o usuário não está autenticado de uma mensagem de Erro e faça-o ir para a página de autenticação (o nosso formulário)

Para nos apoiar nessa tarefa podemos contar com outro método interessante do objeto RESPONSE, o REDIRECT. Com ele podemos forçar de dentro de nosso script que o navegador saia da página corrente e vá para outra.

Veja o esquema na figura a seguir :

Clique para ver ampliado

E o que esse esquema no indica ?

O visitante do site tenta acessar alguma das páginas protegidas, em cada uma delas há um teste para verficar se uma variável de sessão existe, ou qual o valor dela, em função desse teste o usuário ou acessa a página ou é re-direcionado para uma mensagem de erro, nessa págian de erro há um link para o formulário de acesso, com frequência as 2 páginas se combinam em um só.

A partir do formulário de login, é feito uma consulta a base de dados de usuários, caso a conta e a senha existam e estejam corretas a variável de sessão é criada e o usuário re-direcionado ou para página que pretendia inicialmente ou para a página default da aplicação.

Esse esquema simples e básico de autenticação, de finalidades didáticas para iniciantes foi implementado nos arquivos exemplos do tutorial Meu Primeiro Site ASP.

Sucesso ai.