Evento

01/09/2009 - 20:20 por Giovany | Informe spam
Buen dia Grupo,
Por favor me pueden dar una mano con un problema que tengo, estoy haciendo
una pequeña aplicacion de consulta de saldos en asp.net con c# y una bd
Oracle11g, esta app tiene una pagina de login que verifica contra una tabla
de la base de datos la validez del usuarios, y si es valido registra su
estado (conectado), fecha de login, etc, entonces por seguridad en puesto es
cada page_load de cada pagina que conforma la app, que verifique el estado
del usuario que es pasada en la url de manera encriptada, adicionalemente de
verificar si esta conectado tambien reviso unos valores adicionales que se
pasan como parametros y si no esta conectado entoces lo redireccione a la
pagina de login, esto me funciona, pero si estoy en la pagina principal y
presione el boton de salir, vuelvo al login, y si hago back en el login
vuelvo a la session e información que dejo el usuario, mi duda es, si al
hacer back en una pagina esa pagina anterior procesa el evento Page_load ?,

Disculpas si fui muy extenso. de antemano gracias por su ayuda.

Preguntas similare

Leer las respuestas

#1 Fernando A. Gómez F.
01/09/2009 - 22:44 | Informe spam
Giovany wrote:
Buen dia Grupo,
Por favor me pueden dar una mano con un problema que tengo, estoy haciendo
una pequeña aplicacion de consulta de saldos en asp.net con c# y una bd
Oracle11g, esta app tiene una pagina de login que verifica contra una tabla
de la base de datos la validez del usuarios, y si es valido registra su
estado (conectado), fecha de login, etc, entonces por seguridad en puesto es
cada page_load de cada pagina que conforma la app, que verifique el estado
del usuario que es pasada en la url de manera encriptada, adicionalemente de
verificar si esta conectado tambien reviso unos valores adicionales que se
pasan como parametros y si no esta conectado entoces lo redireccione a la
pagina de login, esto me funciona, pero si estoy en la pagina principal y
presione el boton de salir, vuelvo al login, y si hago back en el login
vuelvo a la session e información que dejo el usuario, mi duda es, si al
hacer back en una pagina esa pagina anterior procesa el evento Page_load ?,

Disculpas si fui muy extenso. de antemano gracias por su ayuda.



Hola Gio,

si yo fuera tú, pondría esos valores que pasas entre páginas (i.e. el
usuario encriptado) en alguna variable de sesión:

http://msdn.microsoft.com/en-us/lib...ssion.aspx
http://msdn.microsoft.com/en-us/library/6ad7zeeb(VS.80).aspx

al hacerlo, no tienes que exponer tus datos (aún encriptados) ni andar
pasándolos entre páginas. Incluso, cuando se pierda la sesión (al cabo
de 20 minutos, o lo que hayas definido en el IIS, de inactividad) el
usuario tendrá que loggearse de nuevo.

Mis dos centavos, al menos --veamos qué dice el resto del grupo.

Saludos.
Fernando Gómez
www.fermasmas.com
Respuesta Responder a este mensaje
#2 Giovany
01/09/2009 - 23:16 | Informe spam
Fernando Gracias por contestar.
fijate que si vi en un inicio la posibilidad de usar variable de sesión
para tener informacion entre paginas, pero entiendo que para eso hay que
permitir o tener activo el uso de cokies en el navegador, y pense como la
aplicacion es de uso externo, no usuarios internos de la empresa, hay gente
que tiene bloqueados los cokies por seguridad y todo eso, quise hacer la app
sin mucha dependencia a que se tuviera que estar activando o cambiando
configuracion en el navegador.

Mi problema central es que no se ejecuta los eventos page_load, page_init
y/o pre_render al dar al boton back del navegador, o sea, una vez que se ha
logiado un usuario va a la pagina principal y si este presiona el boton
salir lo manda nuevamente al login, y alli presionas el boton back del
navegador no hace lo indicando, pareciera que no ejecuta estos eventos.

Gracias

gracias.


""Fernando A. Gómez F."" wrote:

Giovany wrote:
> Buen dia Grupo,
> Por favor me pueden dar una mano con un problema que tengo, estoy haciendo
> una pequeña aplicacion de consulta de saldos en asp.net con c# y una bd
> Oracle11g, esta app tiene una pagina de login que verifica contra una tabla
> de la base de datos la validez del usuarios, y si es valido registra su
> estado (conectado), fecha de login, etc, entonces por seguridad en puesto es
> cada page_load de cada pagina que conforma la app, que verifique el estado
> del usuario que es pasada en la url de manera encriptada, adicionalemente de
> verificar si esta conectado tambien reviso unos valores adicionales que se
> pasan como parametros y si no esta conectado entoces lo redireccione a la
> pagina de login, esto me funciona, pero si estoy en la pagina principal y
> presione el boton de salir, vuelvo al login, y si hago back en el login
> vuelvo a la session e información que dejo el usuario, mi duda es, si al
> hacer back en una pagina esa pagina anterior procesa el evento Page_load ?,
>
> Disculpas si fui muy extenso. de antemano gracias por su ayuda.

Hola Gio,

si yo fuera tú, pondría esos valores que pasas entre páginas (i.e. el
usuario encriptado) en alguna variable de sesión:

http://msdn.microsoft.com/en-us/lib...ssion.aspx
http://msdn.microsoft.com/en-us/library/6ad7zeeb(VS.80).aspx

al hacerlo, no tienes que exponer tus datos (aún encriptados) ni andar
pasándolos entre páginas. Incluso, cuando se pierda la sesión (al cabo
de 20 minutos, o lo que hayas definido en el IIS, de inactividad) el
usuario tendrá que loggearse de nuevo.

Mis dos centavos, al menos --veamos qué dice el resto del grupo.

Saludos.
Fernando Gómez
www.fermasmas.com

Respuesta Responder a este mensaje
#3 Fernando A. Gómez F.
01/09/2009 - 23:48 | Informe spam
Giovany wrote:
Fernando Gracias por contestar.
fijate que si vi en un inicio la posibilidad de usar variable de sesión
para tener informacion entre paginas, pero entiendo que para eso hay que
permitir o tener activo el uso de cokies en el navegador, y pense como la
aplicacion es de uso externo, no usuarios internos de la empresa, hay gente
que tiene bloqueados los cokies por seguridad y todo eso, quise hacer la app
sin mucha dependencia a que se tuviera que estar activando o cambiando
configuracion en el navegador.




Ah, ok. Bueno, si ese es el requerimiento, pues ni hablar. :)

Mi problema central es que no se ejecuta los eventos page_load, page_init
y/o pre_render al dar al boton back del navegador, o sea, una vez que se ha
logiado un usuario va a la pagina principal y si este presiona el boton
salir lo manda nuevamente al login, y alli presionas el boton back del
navegador no hace lo indicando, pareciera que no ejecuta estos eventos.

Gracias

gracias.




Al respecto... hasta donde sé (corríganme si me equivoco) cuando haces
click en el botón de regresar, o ejecutas un history.back, o algo por el
estilo, en realidad no se genera una petición al servidor HTTP, sino que
el navegador simplemente presenta el caché de la página anterior.

Así las cosas, supongo que una solución que podrías intentar es forzando
que no se guarde nada en caché. Algo como:

public class MiPagina: Page
{
protected override void OnInit(EventArgs e)
{
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
Response.Cache.SetExpires(DateTime.MinValue);

base.OnInit(e);
}
...
}

o algo por el estilo.

Saludos.

Fernando Gómez
www.fermasmas.com
Respuesta Responder a este mensaje
#4 Giovany
02/09/2009 - 00:08 | Informe spam
Fernando , copie tu codigo tal cual y me funcionó !!!!, tengo varios dias de
estar buscando solucion a este problema y habia encontrado parcial pero solo
para el ie, poniendo esto :

if(history.forward(1)){
location.replace(history.forward(1))

habia probado tambien con esto :

Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.CacheControl = "no-cache";
Response.AddHeader("Pragma", "no-cache");
Response.AddHeader("cache-control", "private");
y varias variantes y nada

tu codigo me funcionó en : ie7, firefox, chrome,opera,safari,Nestcape
Muchas Gracias !


""Fernando A. Gómez F."" wrote:

Giovany wrote:
> Fernando Gracias por contestar.
> fijate que si vi en un inicio la posibilidad de usar variable de sesión
> para tener informacion entre paginas, pero entiendo que para eso hay que
> permitir o tener activo el uso de cokies en el navegador, y pense como la
> aplicacion es de uso externo, no usuarios internos de la empresa, hay gente
> que tiene bloqueados los cokies por seguridad y todo eso, quise hacer la app
> sin mucha dependencia a que se tuviera que estar activando o cambiando
> configuracion en el navegador.
>

Ah, ok. Bueno, si ese es el requerimiento, pues ni hablar. :)

> Mi problema central es que no se ejecuta los eventos page_load, page_init
> y/o pre_render al dar al boton back del navegador, o sea, una vez que se ha
> logiado un usuario va a la pagina principal y si este presiona el boton
> salir lo manda nuevamente al login, y alli presionas el boton back del
> navegador no hace lo indicando, pareciera que no ejecuta estos eventos.
>
> Gracias
>
> gracias.
>

Al respecto... hasta donde sé (corríganme si me equivoco) cuando haces
click en el botón de regresar, o ejecutas un history.back, o algo por el
estilo, en realidad no se genera una petición al servidor HTTP, sino que
el navegador simplemente presenta el caché de la página anterior.

Así las cosas, supongo que una solución que podrías intentar es forzando
que no se guarde nada en caché. Algo como:

public class MiPagina: Page
{
protected override void OnInit(EventArgs e)
{
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
Response.Cache.SetExpires(DateTime.MinValue);

base.OnInit(e);
}
...
}

o algo por el estilo.

Saludos.

Fernando Gómez
www.fermasmas.com

Respuesta Responder a este mensaje
#5 Alberto Poblacion
02/09/2009 - 11:17 | Informe spam
"Giovany" wrote in message
news:
fijate que si vi en un inicio la posibilidad de usar variable de sesión
para tener informacion entre paginas, pero entiendo que para eso hay que
permitir o tener activo el uso de cokies en el navegador



Si necesitas que la sesión funcione sin cookies, en el web.config puedes
poner la opción cookieless=true en el sessionState, y entonces lo que hace
es que mete automáticamente el identificador de sesión dentro de la Url en
lugar de meterlo en una cookie.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida