Foros del Web » Programando para Internet » ASPX (.net) »

revocar sesion en asp.net

Estas en el tema de revocar sesion en asp.net en el foro de ASPX (.net) en Foros del Web. Hola a todos, tengo el siguiente problema: resulta que tengo un sistema que me permite el acceso mediante variables de sesion. Lo que quiero hacer ...
  #1 (permalink)  
Antiguo 17/08/2011, 15:44
Avatar de mcosme  
Fecha de Ingreso: junio-2007
Mensajes: 34
Antigüedad: 16 años, 10 meses
Puntos: 0
Sonrisa revocar sesion en asp.net

Hola a todos, tengo el siguiente problema:
resulta que tengo un sistema que me permite el acceso mediante variables de sesion.
Lo que quiero hacer es que cuando pulsen salir del sistema no se pueda volver a accerder al mismo con las flechas del navegador.
Intenté dejando nulas las variables de sesion pero de todas formas con las flechas de retroceso del navegador puedo volver a recorrer las paginas...

alguna idea???????

gracias :)
  #2 (permalink)  
Antiguo 17/08/2011, 18:06
Avatar de jaullo  
Fecha de Ingreso: abril-2009
Mensajes: 994
Antigüedad: 15 años
Puntos: 30
Respuesta: revocar sesion en asp.net

Hola,

Eso es sencillo, no lo vas a lograr con variables de sesion. De echo no las recomendaria para manejar usuarios, estas exponiendo la aplicacion a problemas de seguridad bastante altos. El primero de ellos, el que ya expones.

Si usas asp.net, lo mejor es que utilices el Membership Provider que este trae. Obtienes mayor seguridad, funcionalidades y es bastante extensible. Veras que se solucionan muchas cosas
http://www.4guysfromrolla.com/articles/120705-1.aspx

Saludos,

Jason Ulloa
Microsoft Community Contributor
__________________
http://geekswithblogs.net/jaullo/Default.aspx
Si te he ayudado regalame Karma positivo!!!
  #3 (permalink)  
Antiguo 19/08/2011, 13:50
Avatar de mcosme  
Fecha de Ingreso: junio-2007
Mensajes: 34
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: revocar sesion en asp.net

Hola jaullo,
seguí tu consejo estoy probando unos codigos de esta página
http://www.asp.net/general/videos/how-do-i-create-a-custom-membership-provider
tengo una duda a la hora de instanciar MembershipUser, me da un error en esta porcion de codigo:

MembershipUser membershipUser = new MembershipUser(
this.Name,
username,
userID,
email,
passwordQuestion,
comment,
isApproved,
isLockedOut,
creationDate,
lastLoginDate,
lastActivityDate,
lastPasswordChangedDate,
lastLockedOutDate
);

el error es:
"El nombre del proveedor de suscripciones especificado no es válido.
Nombre del parámetro: providerName"

En realidad no sé que es lo que debo especificar en esta variable, he intentado con varias cosas pero en realidad estoy adivinando, la documentación que he leido no me lo deja claro
si pudieras darme una manito te lo agradeceria mucho.

saludos :)
  #4 (permalink)  
Antiguo 19/08/2011, 14:06
Avatar de jaullo  
Fecha de Ingreso: abril-2009
Mensajes: 994
Antigüedad: 15 años
Puntos: 30
Respuesta: revocar sesion en asp.net

Hola,

El punto es que cuando creas un proveedor personalizado, deberias registrarlo en el web.config y establecerlo por defecto.

Por ejemplo
<membership defaultProvider="LinqMembership">
<providers>
<clear/>
<remove name="LinqMembership"/>
<add name="LinqMembership" type="Fatchoy.Api.LinqMembership" connectionStringName="Fatchoy.Data.Properties.Sett ings.FatchoyConnectionString" enablePasswordRetrieval="true" enablePasswordReset="true" requiresUniqueEmail="true" requiresQuestionAndAnswer="true" writeExceptionsToEventLog="false" applicationName="Fatchoy.Web" userIsOnlineTimeWindow="15"/>
</providers>
</membership>
<machineKey validationKey="389F6C320A4D345574E5EAF08EE1567F35E 4E75D06C7524CAEF70E849A7C3C194A2D2C09A24EFD2BA81B4 F0668299674BD90A5B608AE6D3E8384061BC10C1EEE" decryptionKey="E649A0390060BDA1BCB6C67AC33F241E5B5 C1E3782499AF2" validation="SHA1" decryption="AES"/>

Saludos,

Jason Ulloa
Microsoft Community Contributor
__________________
http://geekswithblogs.net/jaullo/Default.aspx
Si te he ayudado regalame Karma positivo!!!
  #5 (permalink)  
Antiguo 19/08/2011, 17:49
Avatar de mcosme  
Fecha de Ingreso: junio-2007
Mensajes: 34
Antigüedad: 16 años, 10 meses
Puntos: 0
Pregunta Respuesta: revocar sesion en asp.net

Si eso era efectivamente, tenia mal configurado el web.config.

Pero ahora que todo funciona, me llevo la sorpresa de que aun bloqueando al usuario y verificando para cada pagina que dicho usuario este desbloqueado para poder cargarla resulta que con las flechas de avance y retroceso sigue cargandome las paginas igual.

y ahora que hago??????:(
  #6 (permalink)  
Antiguo 21/08/2011, 10:42
Avatar de jaullo  
Fecha de Ingreso: abril-2009
Mensajes: 994
Antigüedad: 15 años
Puntos: 30
Respuesta: revocar sesion en asp.net

Hola,

Debes estar olvidando alguna configuración, ya que si estas usando el proveedor de membresia de asp.net y haces un logout, aunque presiones los botones del navegador deberia bloquearte. Recuerda que puedes utilizar mayores opciones de configuracion que solo el proveedor, por ejemplo, revisa que entre las etiquetas <system.web></system.web> tengas lo siguiente para bloquear todos los usuarios anonimos

<authorization>
<deny users="?"/>
</authorization>

También, para borrar la cache del navegador, un poco de javascript
<SCRIPT LANGUAGE=javascript>
{
var Backlen=history.length; history.go(-Backlen);
window.location.href=page url
}
</SCRIPT

Saludos,

Jason Ulloa
Microsoft Community Contributor
__________________
http://geekswithblogs.net/jaullo/Default.aspx
Si te he ayudado regalame Karma positivo!!!
  #7 (permalink)  
Antiguo 25/08/2011, 12:31
Avatar de mcosme  
Fecha de Ingreso: junio-2007
Mensajes: 34
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: revocar sesion en asp.net

Hola jaullo,

me fije en web.config y la parte de seguridad que me indicas esta configurada, agregue el script que me indicas al boton de salida (logout), pero sigue sin funcionar.
Mi duda es que estoy usando master pages, tendré que configurar algo mas quizas en las paginas subordinadas del master page?

incluso en cada master page tengo la etiqueta :
<meta http-equiv="pragma" content="no-cache" />

en cada Page_Load de las paginas tengo seteado:
Response.Expires = 0;

y nada

gracias por tus respuestas...
  #8 (permalink)  
Antiguo 26/08/2011, 14:10
 
Fecha de Ingreso: julio-2005
Mensajes: 8
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: revocar sesion en asp.net

coloca esto en el page_load() de las paginas que no quieres que accedan


Response.Cache.SetNoStore();
  #9 (permalink)  
Antiguo 27/08/2011, 08:46
Avatar de mcosme  
Fecha de Ingreso: junio-2007
Mensajes: 34
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: revocar sesion en asp.net

hola:
a final con "Response.Cache.SetNoStore();" funcionó.

Muuuuchas gracias por su tiempo y sus respuestas me fueron de muchisima ayuda :)

saludos

Etiquetas: aspx
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 21:27.