quarta-feira, 30 de maio de 2001

Código simples de login de usuários

Muitas vezes, o conteúdo de um site é restrito à usuários cadastrados em uma tabela de um banco de dados. Para fazer a verificação, faça algo semelhante ao código abaixo:


No HTML:
<form action="login.asp" method=post>
 Username:<input type=text name=username>
 Password:<input type=password name=password>
</form>


No login.asp
set rsquery = conn.execute( "select * from usuarios where username = '" & replace( request.form("username"), "'", "''" ) & "' and password='" & replace( request.form("password"), "'", "''" ) & "'" )
if rsquery.eof then
   response.write( "Usuário ou senha incorreta. Pressione o botão back do seu browser e tente novamente" )
else
   session("autenticado") = true
   if request.querystring("pagina") <> "" then
      'envia de volta para a página onde estava
      response.redirect( request.querystring("pagina") )
   else

      response.redirect( "index.asp" )
   end if

end if


E, em todas as páginas restritas, vc precisa incluir o seguinte código:


'Envia para a página de login, passando a referência da página atual, caso nao esteja logado.
if session("autenticado") <> true then
   response.redirect( "index.asp?pagina=" & server.URLEncode( request.serverVariables("SERVER_NAME") & request.serverVariables("URL") ) )
end if


Convém também criar a opção de "logout", onde o conteúdo da session é setado como false.


Atualização: Incluido o códigp para o usuário retornar para a página onde estava, quando descobriu-se que não estava logado.



Esta matéria foi postada originalmente no ASP4Developers por Rubens N. Farias (site), que na época era "pós-graduado em análise de sistemas orientados a objetos, MCP, MCSD, MCAD, MCSD.NET e consultor em TI, além de idealizador do projeto ASP4Developers. Desenvolve sistemas sob medida, focados na satisfação do usuário, com qualidade e custo realista.". Hoje, vai saber...

1 comentários:

Anônimo disse...

[Enviado originalmente em 03/ago/2003 10:01:52]:

Ola Sr. Rubens.

Muito bom seu artigo, mas como sou iniciante, como farei a conexão com o db em access????

Obrigado.