Ver Mensaje Individual
  #3 (permalink)  
Antiguo 19/05/2004, 16:46
enrib4
 
Fecha de Ingreso: mayo-2004
Ubicación: Sevilla, Spain
Mensajes: 20
Antigüedad: 20 años, 11 meses
Puntos: 0
Cita:
Mensaje Original por mamon
bien.. no he entido bien.. pero yo trabajo asi para validar los usuarios y guardar la info en las cookies:

<%
'trim es para quitar los espacios en blanco entra la palabra
xusuario = Trim(request.form("usuario"))
xpassword = Trim(request.form("password"))

set oCN = Server.CreateObject("ADODB.Connection")
oCN.open 'el string para abrir tu base de datos

strSQL = "select * from usuarios where nombre_usuario = '"&xusuario&"' and clave_usuario = '"&xpassword&"'"

'esto hace q el string "SQL" se execute y busque los datos que se piden.. y el recordset es "oRS"
set oRS = oCN.execute(strSQL)

'si no existe el usuario
if oRS.eof then
response.redirect("miem_error.htm")
else
'creo las cookies
Response.Cookies("clave") = "si"
Response.Cookies("clave").expires = 30/5/2005
response.redirect("miembros1.asp")
end if

'bueno.. de esta forma no va a haber problemas... las cookies se van a crear.. a menos q en tu compu están deshabilitadas las cookies
%>

Suerte!
--------------------------------------------------------------
Hola:

La validación de usuario se realiza correctamente, y la cookie se crea en la máquina cliente, yo creo que el problema es que en cada página restringida tengo el siguiente código para evitar que puedan teclear directamente la URL sin pasar por el formulario de autenticación:
<%
if request.cookies("Clave")<>"true" then
response.redirect "miem_error.htm"
end if
%>

El problema me lo da cuando se está cargando la página restringida por 1ª vez, que lo único que tiene que hacer es leer la cookie y si vale "true" dejar ver la página y si no redireccionar a la página de error. Pues esta 1ª vez siempre redirecciona a la página de error. Una vez allí, he mirado en el disco duro, en Windows\Cookies y la cookie está creada con valor True y fecha y hora de ese instante. Lo que no entiendo es por qué no se lee desde la página.
Quizás sucede todo demasiado rápido y el archivo de cookie no se ha cerrado completamente, antes de que la página pueda acceder a su contenido, cuando se realiza el request.cookie... no lo sé.

En el 2º intento como la cookie ya estaba creada y cerrada, la autenticación se realiza perfectamente.

El proceso es el siguiente:
1º) Se validan los datos del usuario
2º) Se crea la cookie en el ordenador cliente
3º) Cada página privada cuando se carga pregunta por el valor de esa cookie
4º) Se muestra la página o se redirecciona en caso de que la cookie sea false (o falte).

¿Se puede comprobar si existe la cookie antes de decidir nada, o realizar un retardo para esperar a que se cierre el proceso de creación de la cookie, o quizás forzar la lectura de esa cookie? ¿Qué puedo hacer? ¿Dejar pasar a todos los que no tengan cookie?
Gracias

Última edición por enrib4; 19/05/2004 a las 16:53