Ir para conteúdo

POWERED BY:

Arquivado

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

expertro25

O asp não faz o login do usuário...

Recommended Posts

Esta dando sempre usuário ou senha inválida :( Alguém sabe o que está errado:Ai vai:Sistema de Login MulltinívelOlá pessoal, tudo tranquilo?Esta semana detalharemos um "sistema de login multinível". O que é isso? Bom, multinível quer dizer que cada usuário pode ter um nível de acesso diferente. Por exemplo:Digamos que na empresa em que você trabalha, existam 3 tipos de empregados: supervisores, gerentes e estagiários, cada um pode ter acesso à uma determinada parte de um sistema. Sendo que estagiários podem apenas consultar, os supervisores podem consultar e atualizar informações, e os gerentes têm completo acesso, ou seja, podem verificar relatórios, alterar dados, apagar dados, etc.É aí que entra o nível de acesso. Ao invés de fazermos uma página de login para cada tipo de usuário, apenas verificamos seu nível de acesso no banco de dados.Vamos ver como fica nossa tabela:- Abra o Access- Crie um novo banco de dados. Vamos dar o nome "banco" para ele.- Crie uma nova tabela. Chamaremos de "usuarios".Agora, verifique quais campos criaremos, e os detalhes de cada um deles:Campo Detalhes id Do tipo Autonumeração. Será a chave primária dos usuários. nome Tipo texto. Pode conter até 50 caracteres. email Tipo texto. Pode conter até 50 caracteres. login Tipo Texto. Pode conter até 8 caracteres somente. senha Tipo Texto. Pode conter até 8 caracteres somente.Detalhe: no item "Máscara de entrada", escreva "password" ou "senha". Isto fará com que o campo seja preenchido com **** ao invés da senha do usuário, mesmo. nivel Tipo número. Iremos utilizar 3 níveis diferentes (1, 2 e 3). Para fazer o download do banco já formatado, clique aqui.Vamos agora começar a construir a página de entrada, ou seja, a página de login efetivamente. É uma tela simples, apenas com dois campos de formulário(login e senha), e um botão de "ENTRAR". Vamos chamá-la de default.html. Veja abaixo:<table width="20%" border="1" align="center" cellpadding="5"cellspacing="0" bordercolor="#CCCCCC" class="categoria"><tr> <td><strong>Login:</strong></td><td><div align="left"> <input name="txt_login" type="text" class="form" id="txt_login" size="10" maxlength="8"></div></td></tr><tr> <td><strong>Senha:</strong></td><td><div align="left"> <input name="txt_senha" type="text" class="form" id="txt_senha" size="10" maxlength="8"></div></td></tr><tr> <td> </td><td align="right"> <div align="left"> <input name="Enviar" type="submit" class="Botao" id="Enviar" value="ENVIAR">    </div></td></tr></table>Agora vamos fazer a página que captura o login e senha digitada, e verifica qual o nível de acesso do usuário. Vamos chamá-la de login.asp. Veja o exemplo abaixo:<%'Efetuando a conexão com a base de dados criadaSet 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 firmuláriologin2 = Request.Form("txt_login")senha2 = Request.Form("txt_senha") 'Agora verificamos se o usuário e a senha estão corretosSQL = "select * from usuarios where login = '"&login2&"' and senha = '"&senha2&"' "Set RS = Conn.Execute(SQL)'Caso não esteja correto, indicamos o erroIf RS.EOF Then Response.Write "usuário ou senha inválida!" Response.EndEnd If'Se chegou até aqui, é porque o login e 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 utiliza-las em outras páginasResponse.Redirect "adm.asp" 'página restrita%> Falta agora fazermos a página "adm.asp" para inserirmos o conteúdo correto de acordo com o nível de usuário. Vamos lá!<%'A primeira coisa a ser feita é verificar se o usuário está logadoIf session("nivel_acesso") = "" Then Response.Write "Você não está logado!" Response.EndEnd 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 alguns links, como se fosse um menuIf session("nivel_acesso") = 3 Then 'gerentes%> &lg;a href="consultar.asp">Consultar usuário <a href="inserir.asp">Inserir usuário</a> <a href="alterar.asp">Alterar usuário< /a> <a href="inserir.asp">Deletar usuário</a> <a href="relatorios.asp">Verificar relatórios</a> <%Elseif session("nivel_acesso") = 2 Then 'supervisores%> <a href="consultar.asp">Consultar usuário</a> <a href="alterar.asp">Alterar usuário</a><%Else 'estagiários%> <a href="consultar.asp">Consultar usuário</a> <%End If%>Nosso sistema está pronto! Simples, né? Porém falta um detalhe muito importante!! E se um estagiário digitar a URL relatorios.asp no browser, por exemplo?! Ele terá acesso. Por isso, em cada página com acesso restrito, precisamos fazer a verificação do nível de acesso.Exemplo:Na página relatorios.asp, coloquem o seguinte código (no início da página).<%If session("nivel_acesso") < 3 Then 'se não for gerente Response.Write "Você não tem autorização para ver esta página!" Response.EndEnd 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?OBS: Peguei isso no própio site...

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.