Pescadilla que se muerde la cola

17/01/2007 - 16:54 por dgironal | Informe spam
Visual Studio .NET 2003
ASP .NET 1.1
Viusual Basic .NET

Muy buenas, voy a intentar explicarme:

Tengo una página aspx de la cual heredan una serie de páginas aspx.

En la página aspx "PADRE":

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
If Not Me.Page.IsPostBack Then
If checkValidado() Then
'/Operaciones a realizar

Else
'/Redireccionar a una página para SOLICITAR QUE SE VALIDE
End If
End If
End Sub

El método checkValidado comprueba si una variable de Session se encuentra
inicializada (VALIDADO) o no (NO VALIDADO)

Hasta aquí creo que se entiende, PERO, ¿Cómo aprovechar esta infraestructura
(la herencia de una página base) para reconocer un TIME OUT de la sesión?,
sería algo parecido a (está escrito deprisa y corriendo pero creo que + o -
se entiende)

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
If Validado AndAlso (estado.Usuario = "") Then
Response.Redirect(PÁGINA DONDE INDIQUE QUE SE VALIDO PERO SE
AGOTÓ EL TIEMPO)
Else
If Not Me.Page.IsPostBack Then
If checkValidado() Then
'/Operaciones a realizar
Else
'/Redireccionar a una página para SOLICITAR QUE SE
VALIDE
End If
End If
End If
End Sub

La idea es que exixten DOS página de advertencia:
1;- Por favor debería haberse validado, valídese
2;- Usted se valido pero el tiempo se agotó, validese de nuevo

¿Veis la paradoja ->? siempre le dirá que PÁGINA DONDE INDIQUE QUE SE VALIDO
PERO SE AGOTÓ EL TIEMPO

Preguntas similare

Leer las respuestas

#1 dgironal
17/01/2007 - 16:58 | Informe spam
Perdón me equivoqué de foro.
Respuesta Responder a este mensaje
#2 Alberto Poblacion
17/01/2007 - 17:05 | Informe spam
"dgironal" wrote in message
news:e2nzG$
La idea es que exixten DOS página de advertencia:
1;- Por favor debería haberse validado, valídese
2;- Usted se valido pero el tiempo se agotó, validese de nuevo



La cuestión es que no se pueden distinguir estas dos situaciones usando
SOLO el Session, ya que en ambos casos la información de la que disponemos
es la misma (el Session está vacío).
Para poderlos distinguir se requiere alguna información adicional. Una
posibilidad es usar una cookie que conserve un valor si el usuario está
autenticado, que es lo que hace la infraestructura de .Net cuando utilizas
la autenticación por Forms, pero también la puedes generar manualmente si
tienes algún motivo para no usar los Forms.
Otra posibilidad es examinar el Referer (la página remitente). Si se ha
agotado el tiempo, el referer será otra página de la misma web, mientras que
si no está autenticado, el referrer estará vacío o apuntará a una página de
otra web que sea la que ha saltado a la tuya a través de un hiperenlace.
Respuesta Responder a este mensaje
#3 dgironal
17/01/2007 - 18:03 | Informe spam
Muchísimas gracias por contestas, aunque me equivocara de for, voy a mirar
el tema de Referer y si veo que se resiste veré que se puede hacer con el
tema de cookies no persistente (por si el cliente tiene los "persistente"
deshabilitados)

Gracias de nuevo.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida