Ir para conteúdo

POWERED BY:

Arquivado

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

Jow Xavier

Permissões de acesso em suas páginas asp

Recommended Posts

Abaixo um script, onde é possivel controlar as págnias q os usuários podem acessar ::

 

config/conexao.asp

<%
dim cnn
sub abre_conectar
set cnn=server.CreateObject("adodb.connection")
'Abrimos uma conexão com o banco de dados - [IMPORTANTE] altere os dados abaixo com as informações de sua base de dados
cnn.Open("DRIVER={MySQL ODBC 3.51 Driver};SERVER=ACRIAR;PORT=3306;DATABASE=ACRIAR;USER=ACRIAR;PASSW
ORD=ACRIAR;OPTION=3;") 
end sub
sub fecha_conectar
	 cnn.close
	 Set cnn = nothing
end sub 
%>
ACRIAR = a suas configurações de acesso

 

includes/verifica.asp // está página apenas verifica se o usuário se logou ou ñ ...

<%
if session("login") <> true then
 response.redirect "default.asp"
end if
%>

default.asp

<form name="login" method="post" action="login.asp">
			  <table width="250" border="0" align="center" cellpadding="4" cellspacing="2">
				<tr> 
				  <td width="33%"><div align="right">Usuário:</div></td>
				  <td width="67%"><input name="login" type="text" size="20" maxlength="20"></td>
				</tr>
				<tr> 
				  <td><div align="right">Senha:</div></td>
				  <td><input name="senha" type="password" size="11" maxlength="15"> </td>
				</tr>
				<tr> 
				  <td colspan="2"><center><input name="enviar" type="submit" value="Enviar" border="0">
				  </center>
				 
				 </tr>
				  </table>
			</form>

login.asp

<!--#include file="config/conexao.asp"-->
<% 
call abre_conectar

login=Request.Form("login")
senha=Request.Form("senha")


sql = "SELECT * FROM users WHERE login='"&login&"' AND senha='"&senha&"' "

set tab = cnn.execute(sql)

' Caso os dados não estiverem corretos o usuário é enviado para a entrar.htm
if tab.eof then
response.write "Login ou Senha inválidos"

else
Session("nivel")= tab("nivel")
Session("login")=TRUE

Response.Redirect"pagina.asp"
end if
call fecha_conectar
set tab = nothing
%>

membros.asp

<form action="inserir_membro.asp"  method="post" name="form" onSubmit="return valida_campo()">
		<table width="100%" border="0" cellpadding="0" cellspacing="6">
		  <tr> 
			<td width="12%" class="titulo1">Nome</td>
			<td width="88%"><input name="nome" type="text" class="formulario"></td>
		  </tr>
		  <tr> 
			<td class="titulo1">Email</td>
			<td><input name="email" type="text" class="formulario" onBlur="confere()"></td>
		  </tr>
		  <tr> 
			<td class="titulo1">Celular</td>
			<td><input name="celular" type="text" class="formulario"></td>
		  </tr>
		  <tr> 
			<td class="titulo1">Login</td>
			<td class="titulo1"><input name="login" type="text" class="formulario"> <span class="style1">*</span></td>
		  </tr>
		  <tr> 
			<td class="titulo1">Senha</td>
			<td class="titulo1"><input name="senha" type="password" class="formulario"> <span class="style1">*</span></td>
		  </tr>
		  <tr> 
			<td class="titulo1">Nivel</td>
			<td class="titulo1"><input name="nivel" type="text" class="formulario"> <span class="style1">*</span></td>
		  </tr> 
		  
		  <tr> 
			<td><input type="submit" class="formulario" value="Salvar"></td>
			</tr>
		</table>
	  </form></div>

inserir_membro.asp

<!--#include file="../includes/verifica.asp"-->
<%
if session("login") <> true then
  response.redirect "../default.asp"
end if
%>

<!--#include file="../config/conexao.asp"-->
<%

call abre_conectar

nome=request.Form("nome")
celular=request.Form("celular")
email=request.Form("email")
login=request.Form("login")
senha=request.Form("senha")
nivel=request.Form("nivel")

sql = "insert into users (nome, celular, email, login, senha, nivel)"
sql = sql & " values ('"&nome&"', '"&celular&"', '"&email&"', '"&login&"', '"&senha&"', '"&nivel&"')"


set tab = cnn.execute(sql) 

call fecha_conectar
set tab = nothing
response.write "Cadastro realizado com sucesso" %>
<a href="membros.asp">Voltar</a>

OBS: Nas páginas onde o conteúdo é restrito ... basta usar um if no topo dá página, ou em algum conteúdo restrito...

 

if session("nivel") = 1 'este numero é o mesmo número q foi gravado na tabela como a permissão do usuário, 
'ou seja pode ser alterado de acordo com o usuário q você queira restringir

response.write "Aki você insere o conteúdo dá página"

else 

response.write "Acesso Restrito"

end if
Bom galera espero ter ajudado ... Abraçossss

Compartilhar este post


Link para o post
Compartilhar em outros sites
http://forum.imasters.com.br/public/style_emoticons/default/clap.gif terei a oportunidade de testar seu código, boa contribuição!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opá pode testar tá 100% Funfando huahuhauhuahuahuaha eu uso ele nas minhas aplicações .... Valeuuuuuu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opá Valeu Ted'k ... Ñ só pelo comentário, mas tbm pela força nas dúvidas, ñ só minhas como de toda a galera ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigos, eu estou com um problema parecido...

 

Se por exemplo, eu tenho vários colaboradores cadastrados, da seguinte forma:

 

Usuário - - - - - - - - - Nível
jornalista - - - - - - - - - 1
jornalista - - - - - - - - - 2
editor-chefe - - - - - - - - 3
editor-assistente - - - - - 4
moderador fórum - - - - - - 5

E tenho as páginas:

 

Página - - - - - - - - - - - - - - Permissão para o Nível
noticias-barradocorda.asp - - - - - - 1, 2, 3
noticias-mundo.asp - - - - - - - - - - 1, 4
noticias-geral.asp - - - - - - - - - - 2, 3
forum-comentarios.asp - - - - - - - - 1, 2, 3, 4, 5

O problema: Eu teria que criar um script em cada página para informar quais os níveis permitidos para aquela página? Ou existe uma outra forma?

 

A Solução: Eu sei mais ou menos com funciona uma possível solução: criar uma tabela que tem a seguinte estrutura:

 

Pagina - - - - - - - - - - - - - - - - - Nivel_Permitido
noticias.asp?IDSecao=1 - - - - - - - - - - 1, 2, 3
noticias.asp?IDSecao=2 - - - - - - - - - - 2, 5
noticias.asp?IDSecao=3 - - - - - - - - - - 5
noticias.asp?IDSecao=4 - - - - - - - - - - 1, 2, 3, 4, 5
noticias.asp?IDSecao=5 - - - - - - - - - - liberado
noticias.asp?IDSecao=6 - - - - - - - - - - 2, 5

Como eu implantaria esse sistema de restrição de forma dinâmica? Até porque na hora que eu quizesse alterar o acesso de uma página ( permitir ou excluir mais um tipo de usuário - para não ter que baixar a página do servidor, alterar os níveis permitidos no código da página, enviar novamente pro servidor ), poderia ir no painel de controle do meu bd, na tabela do BD, e somente alterar os níveis de acesso permitido para aquela página...

 

O problema é que ainda não consegui imaginar / visualizar uma forma simples de implantar isso...

 

Por favor, é URGENTE!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok ... então qd o usuário se loga no seu site você pegar a sessão q ele pertence ou seja session("nivel") = rs("nivel") assim você tera o nivel do usuário logado armazenado em uma sessão Ok ...

 

Simple onde o usuário tem permisão do conteúdo você faz da seguinte maneira ...

 

if session("nivel") = 1 OR session("nivel") = 2 OR session("nivel") = 3 then

response.redirect "noticias-barradocorda.asp"

else

'outra acão

end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kra... mas aí que é o problema... a permissão dos níveis ainda está na página.... e se eu precisar alterar o nível de uma página... vou ter que alterar no código da página de uma por uma... imagine, em 50 páginas? fica chato...

 

eu queria alterar esse nível de acesso pelo próprio bd.... entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

correto fica muito chato cara ... se te ajudar eu coloco essa vericação no include

 

e jogo o include em todas as páginas ... ai pra eu ñ ter q alterar as minhas páginas só altero o include ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mew, é o seguinte, eu coloquei o código, consigo conectar a página ao Banco de Dados, mas os níveis não estão funcionando. Ou seja se coloco no ínicio de uma página restrita:

 

<%
if session("login") <> true

response.write "Acesso OK"

else

response.write "Acesso Restrito"

end if
%>

assim funciona, aparece acesso ok, mas assim:

 

<%
if session("nivel") = 1 then

response.write "Acesso OK"

else

response.write "Acesso Restrito"

end if
%>

Não funfa, aparece restrito!

 

Voces saberiam dizer uma solução pra isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você mudou a session de verificação

 

a original usa valores lógicos e aqui você usou numérico, então sempre cairá na exceção ao menos que mude também a session e não apenas a verificação

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.