Ir para conteúdo

POWERED BY:

Arquivado

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

ASP a ASP

Sistema de permissões

Recommended Posts

Alguém aí pode me dizer como eu faria um sistema de permissões para checar se certo usuário tem permissão para ver uma página ou não?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

login multinivel ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

quais suas duvidas??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gostaria de um exemplo de como poderia fazer isso. Eu pegaria uma variavel de um BD (que seria o grupo da pessoa) e queria checar se a pessoa tem a permissão para ver a página ou não.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olapara fazer isso, é lógica puravocê usa um login comum, mas só usa mais uns IFs para controlar o que o usuario pode ou nao acessar;Eu, costumo criar, na tabela usuarios um campos STATUS;Daí, eu defino em numeros:-1 = usuario banido0 = usuario normal1 = usuario avançado2 = moderador3 = administradordaí, nas páginas, é só você fazer um if..IF session("status") > 2 then' só administradores podem acessarend ifIf session("status") > 0 then' qualquer usuario, que não seja usuario comum, nem banido, pode acessar; (tipica área que só membros da equipe de organização podem acessar)end ifIf session("status") >= 0 then' somente os banidos não entrariam na paginaend ife assim vai..sendo que.. na hora em que o usuario fizer o login, você busca do banco o status dele, e joga na session, para poder usar depois;basicamente eh isso ae :]qualquer duvida é só postar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu! Mas o que tem de errado aqui nesse código:<%set conn = Server.CreateObject("ADODB.Connection")conexao = "Provider=SQLOLEDB.1; SERVER=WEB; UID=sandro; PWD=sandro; DATABASE=sandro;"conn.open conexaoconn.execute "select * from sandro where nome='Sandro' and senha='x' and nivel='3'"response.write "Ok<br>"if nivel = "3" thenresponse.write "oi"elseresponse.write "sem acesso"end ifconn.closeset conexao = nothing%>O usuário (Sandro de senha x) no caso tem o nível 3 no BD mas a página indica como sem acesso. Aonde esta o erro?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teste esse:

ASP
  1. <%
     
  2. set conn Server.CreateObject("ADODB.Connection")
     
  3. conexao "Provider=SQLOLEDB.1; SERVER=WEB; UID=sandro; PWD=sandro; DATABASE=sandro;"
     
  4. conn.open conexao
     

  5.  
  6. Set RS_Logado conn.execute "select * from sandro where nome='Sandro' and senha='x' and nivel='3'"
     

  7.  
  8. If Not RS_Logado.EOF Then
     
  9.  response.write "Ok<br>"
     
  10.  if RS_Logado("nivel""3" then
     
  11. response.write "oi"
     
  12.  else
     
  13. response.write "sem acesso"
     
  14.  end if
     
  15. Else
     
  16.  Response.Write "Não existe usuário com essas características de acesso!"
     
  17. End If
     

  18.  
  19. RS_logado.Close
     
  20. Set RS_Logado = Nothing
     
  21. conn.close
     
  22. set conexao = nothing
     
  23. %>

Repare que criei um objeto RecordSet para retorno dos dados de seu SELECT, e estou usando ele para testar se existe o usuário e para comparar o campo "Nivel" com o valor definido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu erro:/sandro/teste.asp, line 6, column 29Set RS_Logado = conn.execute "select * from sandro where nome='Sandro' and senha='x' and nivel='3'"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando der erro poste a mensagem de erro exibida e também a linha do erro.

 

Agora a minha pergunta:

Qual erro deu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpa, é que eu colei a linha errada e não tinha percebido. Erro:Tipo de erro:Erro de compilação do Microsoft VBScript (0x800A0401)Fim da instrução esperado/sandro/teste.asp, line 11, column 29Set RS_Logado = conn.execute "select * from sandro where nome='Sandro' and senha='x' and nivel='3'"----------------------------^Linha 29:Else

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não deve ser isso, massss:

ASP
  1. Set RS_Logado conn.execute("select * from sandro where nome='Sandro' and senha='x' and nivel='3';")

Pelo que me parece é algo anterior a isso.

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.