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

time session

Estas en el tema de time session en el foro de ASP Clásico en Foros del Web. Hola tengo un problema ojala puedan ayudarme necesito establecer un tiempo de session... es decir Session.Timeout bueno lo que deseo es que cuando el usuario ...
  #1 (permalink)  
Antiguo 30/06/2008, 11:11
 
Fecha de Ingreso: abril-2008
Mensajes: 32
Antigüedad: 17 años
Puntos: 0
time session

Hola tengo un problema ojala puedan ayudarme
necesito establecer un tiempo de session...
es decir Session.Timeout

bueno lo que deseo es que cuando el usuario se logea se establece un tiempo de 20 min ahora supongamos q paso 15 minutos ahora cuando el user sigue navegando en el sistema este tiempo se establecera nuevamente con 20 min como podria hacer eso?

osea en cada pag necesito colocar un session.timeout = 20? algo asi
o como poder hacerlo en el web config...
ojala me puedan ayudar

Saludos cordiales
Larry
  #2 (permalink)  
Antiguo 30/06/2008, 12:25
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 1 mes
Puntos: 88
Respuesta: time session

un ejemplo

Código HTML:
<%
sql="select iduser,pass from tablausuarios where iduser=" & request("usuario") & " and pass=" & request("pass")
set rs=conexion.execute(sql)
if Err=0 then
    if RS.eof=false then
        'si todo perfecto
        session.timeout=120
    else
        'ningun dato coincidio
    end if
else
    'error de consulta
end if
%>
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #3 (permalink)  
Antiguo 30/06/2008, 13:21
 
Fecha de Ingreso: abril-2008
Mensajes: 32
Antigüedad: 17 años
Puntos: 0
Respuesta: time session

Hola
Gracias por responder...
lo que estas haciendo en el codigo es verificar el login si esta OK estableces un tiempo de 120 minutos verdad

yo diria algo asi mejor para mi ejemplo
Cita:
<%
sql="select iduser,pass from tablausuarios where iduser=" & request("usuario") & " and pass=" & request("pass")
set rs=conexion.execute(sql)
if Err=0 then
if RS.eof=false then
'si todo perfecto
session("usuario")= request("usuario")
session.timeout=120
else
'ningun dato coincidio
end if
else
'error de consulta
end if
%>
luego por ejemplo mientras el usuario esta navegando por cada pagina tengo q hacer lo sgte..

Cita:
Dim sess As Double
sess = Me.Session.Keys.Count
If sess = 0 Then
Response.Write("login.aspx")
Exit Sub
End If
Session.Timeout = 120
si te das cuenta en cada pag hago lo sgte lo que deseo es establecer nuevamente el tiempo 120 minutos pero no logro hacerlo no se que pueda estar haciendo mal
Saludos
  #4 (permalink)  
Antiguo 30/06/2008, 13:23
 
Fecha de Ingreso: abril-2008
Mensajes: 32
Antigüedad: 17 años
Puntos: 0
Respuesta: time session

ops es response.Redirect
no response.write

Cita:
Dim sess As Double
sess = Me.Session.Keys.Count
If sess = 0 Then
response.Redirect("logins.aspx")
Exit Sub
End If
Session.Timeout = 120
....
'continua el codigo
  #5 (permalink)  
Antiguo 30/06/2008, 13:49
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 1 mes
Puntos: 88
Respuesta: time session

no es necesario redefinir el tiempo de session en cada pagina que usuario visite, ya que simplemente con el hecho de dar click, se mantiene activa la session y automaticamente le 120 minutos para esperarlo...

esto era simplemente un ejemplo de duracion, puedes asignarle los minutos que necesites

que IIS estas usando... IIS7, IIS5.1, IIS6....

en IIS 7, he tenido ese problema de timesession, que no puedo establecerlo directamente por codigo.... habra que chekar que esta pasando en algun modulo del IIS

pero si es IIS5.1, se puede establecer asi como se menciono

__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #6 (permalink)  
Antiguo 30/06/2008, 13:50
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 1 mes
Puntos: 88
Respuesta: time session

no habia leido el ultimo mensaje

Cita:
Dim sess As Double
sess = Me.Session.Keys.Count
If sess = 0 Then
Session.Timeout = 120
response.Redirect("logins.aspx")
Exit Sub
End If

....
'continua el codigo


recuerda que una ves que das redirect, no se realiza el codigo siguiente
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #7 (permalink)  
Antiguo 30/06/2008, 14:02
 
Fecha de Ingreso: abril-2008
Mensajes: 32
Antigüedad: 17 años
Puntos: 0
Respuesta: time session

Cita:
Iniciado por Shiryu_Libra Ver Mensaje
no habia leido el ultimo mensaje

Dim sess As Double
sess = Me.Session.Keys.Count
If sess = 0 Then
Session.Timeout = 120
response.Redirect("logins.aspx")
Exit Sub
End If
yo con este codigo intento verificar si existen sesiones si es 0 significa que no hay y me hace un rederict al colocar mi Session.Timeout = 120 fuera del if es para asegurarme en darle los 120 min nuevamente

bueno no intento resolver mi problema y si efectivamente estoy utilizando II7 crees que ese puede ser el problema??...

algun consejo para poder resolver mi problema quizas de alguna otra forma
gracias por responder....

Saludos cordiales
Larry
  #8 (permalink)  
Antiguo 30/06/2008, 14:20
 
Fecha de Ingreso: abril-2008
Mensajes: 32
Antigüedad: 17 años
Puntos: 0
Respuesta: time session

Hola disculpa
mi IE es el 7
pero mi IIS5.1


pero si a ti te funciona a mi porque no?

uhmm sera por q a todas mis paginas estoy colocando nuevamente
timeout = 120 si hago esto es para asegurarme nuevamente que mi time sea 120 minutos claro validando antes si no han transcurrido el tiempo deseado caso contrario termina session y abandona el sistema
  #9 (permalink)  
Antiguo 30/06/2008, 14:31
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 1 mes
Puntos: 88
Respuesta: time session

, como te menciono, no es necesario en cada pagina, simplemente con una sola ves que se realize esto queda bien, y es raro que en IIS 5.1 no te funcion, te anexo como realizo este cambio

en mi global.asa tengo esto para el Inicio de session en el servidor
Código HTML:
Sub Session_OnStart()
    ' Set session timeout to 60 minutes
    Session.Timeout = 5
    Session("Start") = Now()
    
    Application.lock()
    Application("NumVisitas") = Application("NumVisitas") + 1
    Application.unlock()
        
    Session.LCID = 2058
End Sub
y al iniciar session en la pagina.asp, realizo lo siguiente
Código HTML:
        set RS=Cxn.execute(sql)

        if Err=0 then
            If (RS.EOF=true) then
                Response.Write "Usuario no existe"
            Else
                If RS.Fields("pass") = password then 
                    'mientras todo correcto, cambiamos el tiempo de session
                    session.Timeout = rs.fields.item("t_ses").value

                else
                    Response.Write "Contraseña Incorrecta"
                End If
            end if
        else
            Response.Write "Error "& Err.description
        end if
        'Limpiamos y cerramos.
        RS.Close
        cxn.close
        set cxn=nothing
no se, si te sirva esto
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #10 (permalink)  
Antiguo 30/06/2008, 14:40
 
Fecha de Ingreso: abril-2008
Mensajes: 32
Antigüedad: 17 años
Puntos: 0
Respuesta: time session

si ya me estoy dando cuenta que no era necesario colcoar el timeout en todas las paginas ^^!

estoy haciendo algunas pruebas uhmm a ver voy a ver el ultimo codigo...

saludos...
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:54.