Foros del Web » Programando para Internet » ASP Clásico »

Password: restricción de accesos

Estas en el tema de Password: restricción de accesos en el foro de ASP Clásico en Foros del Web. Hola a todos, Tengo un problema y es: Tengo una base de datos con un campo usuario y otro de contraseña y lo que pretendo ...
  #1 (permalink)  
Antiguo 29/08/2002, 04:00
 
Fecha de Ingreso: julio-2002
Mensajes: 42
Antigüedad: 22 años, 9 meses
Puntos: 0
Password: restricción de accesos

Hola a todos,
Tengo un problema y es: Tengo una base de datos con un campo usuario y otro de contraseña y lo que pretendo es restringir el acceso a una página, lo intento hacer por ultradev utilizando el comportamiento de servidor (restringir acceso), donde me obliga meter una página donde redireccionar al usurio si no mete la clave correctamente, pero lo que me ocurre es que me manda a esa página aunque introduzca los datos correctamente. ¿Sabeis por qué puede ser?. No defino ningún juego de registros, ¿puede que sea por eso?.
¿Cómo lo hariais vosotros?

Un saludo,

Rodar
  #2 (permalink)  
Antiguo 29/08/2002, 05:01
 
Fecha de Ingreso: diciembre-2001
Mensajes: 199
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: Password: restricción de accesos

<% clave=request.form("clave")
usuario=request.form("usuario")
'conexion....
set rs=Conn.execute ("select * from usuarios where usuario='" & usuario & " '")
if rs.eof= true then %>
<script languaje="javascript">
alert("Error.. nombre de usuario o clave incorrecta")
window.history.back()
</script>
<% else
if rs("clave")<> clave then %>
<script languaje="javascript">
alert("Error.. nombre de usuario o clave incorrecta")
window.history.back()
</script>
<%else
'está validado que haga lo que quiera
end if
end if
%>
  #3 (permalink)  
Antiguo 30/08/2002, 02:58
 
Fecha de Ingreso: julio-2002
Mensajes: 42
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Password: restricción de accesos

Gracias forastero,
Pero el problema que tengo no es el acceso en si, ya que eso si lo logre, lo que no puedo conseguir es que introduciendo las direcciones de las páginas restringidas en la dirección del navegador, me restrinja el acceso a las páginas. Y si esto lo hago con el ultradev (comportamiento de servidor restringir acceso), es entonces cuando no puedo acceder de ninguna manera.
Gracias de nuevo y a ver si alguien sabe solucionar lo que me pasa.

Un saludo,

Rodar
  #4 (permalink)  
Antiguo 30/08/2002, 13:40
 
Fecha de Ingreso: mayo-2001
Ubicación: Monterrey, N.L.; México
Mensajes: 558
Antigüedad: 24 años
Puntos: 0
Re: Password: restricción de accesos

A ver si entendi...
tienes tus paginas PRIVADAS ok?? ... y si las escribes en el navegador aún asi puedes verlas?...
Quieres evitar eso verdad??
Solo ciertos usuarios pueden verlas?....??

Porqué no usas cookies y al principio de tú código indicas algo como esto:

<% IF (Request.Cookies("usuario")="" ) THEN

Response.Redirect ("general.asp")

ELSE

Response.Redirect ("privada.asp")

End IF%>

Esto indica que si el USUARIO no tiene la cookie llamada "Usuario" lo redireccionamos a la pagina general.asp, caso contrario lo mandamos a las páginas privadas.asp

Saludos... si no es lo que buscas, con gusto le buscamos otra solución

Owen Bonilla
Webmaster Weblaguna S. C.
[email protected]

  #5 (permalink)  
Antiguo 30/08/2002, 14:35
 
Fecha de Ingreso: junio-2002
Ubicación: Buenos Aires, Argentina
Mensajes: 876
Antigüedad: 22 años, 11 meses
Puntos: 0
Re: Password: restricción de accesos

Estas a tiempo de dejar el ultradev! Yo lo deje cuando lo habia dominado completamente, y me costo mucho aprender desde cero a programar. Luego me di cuenta de que es igual de facil escribir el codigo que lidirar con el dreamweaver. No pienses que porque estas haciendo algo chico y sin importancia no vale la pena aprender, ni que el ultradev va a hacer que diseñes todo en la mitad del tiempo. Yo lo se, a mi tambien me paso, no podia llegar a pensar que programar fuera tan facil como usar el ultradev, pero fue asi. Te lo recomiendo, estuve en tu misma situacion, y ante cualquier duda aca estoy, y estan todos los demas para ayudarte con asp. Suerte.
  #6 (permalink)  
Antiguo 30/08/2002, 14:40
 
Fecha de Ingreso: mayo-2001
Ubicación: Monterrey, N.L.; México
Mensajes: 558
Antigüedad: 24 años
Puntos: 0
Re: Password: restricción de accesos

Zeus tiene razón, yo la verdad todo el tiempo que llevo programando lo he hecho direcatmente en código, y creo que se me complicaria el empezar con esas herramientas..
Intentalo, todo es por logica

Espero mi ayuda te sirva si no, le seguimos buscando

Saludos

Owen Bonilla
Webmaster Weblaguna S. C.
[email protected]

  #7 (permalink)  
Antiguo 30/08/2002, 15:04
 
Fecha de Ingreso: julio-2002
Mensajes: 106
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Password: restricción de accesos

Eh aqui como yo le he hecho con sesiones, sin cookies:

pagina inicio.asp parte 1
**********************
<%@LANGUAGE="VBSCRIPT"%>
<!-- El archivo incluido está en el directorio de Scripts. -->
<!-- #include virtual = "/sapi/scripts/conexion.inc" -->
<!--#INCLUDE FILE="SCRIPTS/VALIDACIONES.ASP"-->


<%if request.form("login_text")="" and request.form("clave_text")="" then
%>


<form name="form1" method="post" action="inicio.asp">
<p>

<input type="text" name="login_text" maxlength="10" size="15">
</p>
<p>
<input type="password" name="clave_text" maxlength="8" size="15">
</p>
<p>

<input type="button" name="Ingresar" value="Ingresar" default="true" >
</p>
</form>

<script language="VBScript">
<!--
form1.login_text.focus()
-->
</script>


<%
else


'evita la introducción de sentencias SQL
login=replace(request.form("login_text") ,"'","")
clave=replace(request.form("clave_text") ,"'","")

set conn=conecta()
set rs = CreateObject("ADODB.Recordset")
sqltxt="Select * from usuario where pk_usu_login='"&login&"' and usu_clave= '"&clave&"'"
rs.Open sqltxt, conn

if (login<>"") and (clave<>"") and rs.EOF then

desconecta(conn)
'si el recordset esta vacio, entonces no existe ese usuario con esa contraseña
'se niega el acceso
' PONEMOS ID_CLI A CERO NINGUN USUARIO TIENE ESTE IDENTIFICADOR

Session("ID_CLI")=Cstr("0")
%>

<script language="VBScript">
<!--
r=msgbox("Prohibido el acceso: no existe el Usuario, o la contraseña es incorrecta. Por favor reingrese los datos",VbCritical,"SAPI")
location.href="inicio.asp"
-->
</script>

<%
else
if login<>"" and clave<>"" then

'Es un usuario autorizado comprobamos el tipo de usuario
'para redirigir a la pagina correspondiente
'se guarda el ID DE ESTE USUARIO EN LA VARIABLE DE SESION



<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<img src="http://pukem.face.ubiobio.cl/sapi/gta2.jpg">

"And Remember...Respect is everything.
  #8 (permalink)  
Antiguo 30/08/2002, 15:08
 
Fecha de Ingreso: julio-2002
Mensajes: 106
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Password: restricción de accesos

pagina inicio.asp parte 2

'se guarda el ID DE ESTE USUARIO EN LA VARIABLE DE SESION

Session(&quot;ID_CLI&quot;)=Cstr(rs.Fields(&quot;p k_usu_login&quot;))

if ((rs.fields(&quot;usu_tipo&quot;))=&quot;Administr ador&quot;) then
rs.close
set rs=nothing
desconecta(conn)
%&gt;
&lt;script language=&quot;VBScript&quot;&gt;
&lt;!--
location.href=&quot;ppal_admin.asp&quot; 'aqui si es administrador
--&gt;
&lt;/script&gt;
&lt;%elseif ((rs.fields(&quot;usu_tipo&quot;))=&quot;Cliente Interno&quot;) then
rs.close
set rs=nothing
desconecta(conn)
%&gt;

&lt;script language=&quot;VBScript&quot;&gt;
&lt;!--
location.href=&quot;ppal_cliente_int.asp&quot; ' o aqui si es cliente interno
--&gt;
&lt;/script&gt;

&lt;%elseif ((rs.fields(&quot;usu_tipo&quot;))=&quot;Cliente Externo&quot;) then
rs.close
set rs=nothing
desconecta(conn)
%&gt;
&lt;script language=&quot;VBScript&quot;&gt;
&lt;!--
location.href=&quot;ppal_cliente_ext.asp&quot; ' o aqui si es cliente externo
--&gt;
&lt;/script&gt;
&lt;%
end if

end if
end if




end if%&gt;



&lt;script language=&quot;VBScript&quot;&gt;
&lt;!--
Sub Ingresar_onclick
if form1.login_text.value=&quot;&quot; then
r=msgbox(&quot;Debe ingresar nombre de usuario&quot;,VbInformation,&quot;SAPI&quot;)
form1.login_text.focus()
else
if form1.clave_text.value=&quot;&quot; then
r=msgbox(&quot;Debe ingresar su clave de acceso&quot;,VBInformation,&quot;SAPI&quot;)
form1.clave_text.focus()
else
form1.submit()

end if

end if
end sub

--&gt;
&lt;/script&gt;



<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<img src="http://pukem.face.ubiobio.cl/sapi/gta2.jpg">

"And Remember...Respect is everything.
  #9 (permalink)  
Antiguo 30/08/2002, 15:17
 
Fecha de Ingreso: julio-2002
Mensajes: 106
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Password: restricción de accesos

ufffffffffffff y por ultimo:

el codigo del global.asa y el de cada pagina segura y la de cierre de sesion:


en el global.asa

&lt;SCRIPT LANGUAGE=VBScript RUNAT=server&gt;

sub application_onStart()
'sentencias que se ejecutan al entrar el primer usuario
end sub

sub application_onEnd()
'sentencias a ejecutar al irse el último usuario
end sub

sub session_onStart()

Session(&quot;ID_CLI&quot;)=Cstr(&quot;0&quot;) '&lt;----- importante




'sentencias que se ejecutan cada vez que entra un usuario
end sub

sub session_onEnd()

Session(&quot;ID_CLI&quot;)=Cstr(&quot;0&quot;)

'sentencias a ejecutar al irse el cada usuario
end sub

&lt;/SCRIPT&gt;

en cada pagina segura:

&lt;%@LANGUAGE=&quot;VBSCRIPT&quot;%&gt;
&lt;!-- #include virtual = &quot;/sapi/scripts/conexion.inc&quot; --&gt;
&lt;%

'verifica que haya iniciado sesion
Response.buffer=true

if Session(&quot;ID_CLI&quot;)=Cstr(&quot;0&quot;) then

Response.Status=&quot;401 Prohibido&quot;
Response.redirect &quot;prohibido.asp&quot;

end if
%&gt;

y despues todo lo que sigue en la pagina si es que tiene acceso.

y por ultimo el codigo de la pagina de salida: logout.asp

&lt;%@LANGUAGE=&quot;VBSCRIPT&quot;%&gt;
&lt;%
Response.buffer=true
Response.Expires = -2000
Response.AddHeader &quot;pragma&quot;,&quot;no-cache&quot;
Response.AddHeader &quot;cache-control&quot;,&quot;private&quot;
Response.CacheControl = &quot;no-cache&quot;

Session.Abandon %&gt;


es o es todo, obviamente debes cambiar la consulta a la base de datos, la conexion y todo eso, pero asi funciona superbien.

el principio es que cuando se ingresa a la pagina inicial se crea una sesion para el usuario. se coloca el id_cli en 0, luego si tiene acceso se coloca el id_cli=nombre_usuario, y encada pagian segura preguntas si id_cli=0 entonces denegar acceso.

cuando sales con la pagina logout.asp que es llamada desde un link salir o algo asi. se coloca el id_cli a cero nuevamente, asi si aprieta el back del browser, lo redigira a la pagina prohibido.asp.

ojala te sirva. salio largo pero sirve.
a mi me funca super
:cantar: :cantar: :cantar: :cantar:






<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<img src="http://pukem.face.ubiobio.cl/sapi/gta2.jpg">

"And Remember...Respect is everything.
  #10 (permalink)  
Antiguo 03/09/2002, 05:40
 
Fecha de Ingreso: julio-2002
Mensajes: 42
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Password: restricción de accesos

Gracias a todos por ayudarme,
Siento contestar tan tarde pero es que ultimante estoy muy ocupado y no lo he podido hacer antes.
Probare todas vuestras soluciones, además comentaros que también me parece que ultradev es una herramienta más de diseño que de programación y con vuestra ayuda seguro que finalmente evito utilizar ultradev para programar y aprendo algo de programación.

Gracias nuevamente Gta2, zeus_bsas y Owen-Bonilla por vuestra ayuda. un saludo,

Rodar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:16.