Foros del Web » Programación para mayores de 30 ;) » .NET »

variables de session

Estas en el tema de variables de session en el foro de .NET en Foros del Web. buenas, estamos haciendo una pagina pero a la hora de utilizar la variable de sesion nos da problemas puesto que no la reconoce en las ...
  #1 (permalink)  
Antiguo 12/11/2004, 02:59
 
Fecha de Ingreso: noviembre-2004
Mensajes: 19
Antigüedad: 19 años, 5 meses
Puntos: 0
Exclamación variables de session

buenas, estamos haciendo una pagina pero a la hora de utilizar la variable de sesion nos da problemas puesto que no la reconoce en las paginas que tenemos enlace o al hacer click en un boton de esa pagina
en la pagina principal ponemos:
Session("admin")= "administrador"
lb_mess.text = Session("admin").ToString()
la ultima linea la ponemos para recuperar el valor de la variable sesion
el la otra pagina ponemos:
variable=Session("admin")

estamos utilizando asp.net con vb.net

lo que queremos es que un usuario administrador tenga accesos a paginas que el resto de usuarios no pueden acceder, la contraseña y el nombre de usuario los pillamos de una base de datos
¿hay alguna otra forma de hacer lo de la session?
muchas gracias
  #2 (permalink)  
Antiguo 12/11/2004, 03:12
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Bienvenido a Foros del web.

Supongo que tendrás que definir el tipo de la variable para luego asignarle el valor del objeto de sesión:

Dim variable as String
variable = Session("admin").ToString()

Otra opción sería añadir en la carpeta restringida un archivo de configuración web.config que permita sólo el acceso al usuario administrador y lo deniegue al resto de usuarios, redirigiéndolo si quieres a una página para registrarse como administrador.

A ver si te sirve.

Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #3 (permalink)  
Antiguo 12/11/2004, 03:14
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Se me olvidaba, ¿estás mezclando páginas ASP con ASP.Net? Recuerda que no comparten las variables de sesión, ya que trabajan con módulos diferentes.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #4 (permalink)  
Antiguo 12/11/2004, 03:47
 
Fecha de Ingreso: noviembre-2004
Mensajes: 19
Antigüedad: 19 años, 5 meses
Puntos: 0
variables de session 2

eso ya lo hemos hecho, lo qu pasoa es que se me ha olvidado poner esa parte del codigo porque la he visto muy evidente.
no estamos mezclando ya que lo hacemos todo en asp.net
muchas gracias
  #5 (permalink)  
Antiguo 12/11/2004, 03:54
 
Fecha de Ingreso: noviembre-2004
Mensajes: 19
Antigüedad: 19 años, 5 meses
Puntos: 0
se me olvida cuando accedes como usuario lo que queremos hacer es que se pongan a visibles etiquetas que antes no lo estaban, porque la idea de hacer paginas solo para el administrador y otras pa los usuarios ya la habiamos hecho y nos funcionaba pero nos dijeron de que teniamos que cambiarla.
Gracias
  #6 (permalink)  
Antiguo 12/11/2004, 03:59
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Pero entonces, ¿dónde está el error? ¿Recupera o no la variable de sesión?

Si antes os funcionaba un método, ¿qué es lo que os han pedido que cambiéis?
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #7 (permalink)  
Antiguo 12/11/2004, 05:19
 
Fecha de Ingreso: noviembre-2004
Mensajes: 19
Antigüedad: 19 años, 5 meses
Puntos: 0
hacemos la pagina pero una parte del codigo esta oculta hasta que se activa la sesion (lo que no podemos hacer es una pagina nueva para la persona que comienza la sesion).
una vez que se activa la sesion el codigo oculto se vuelve visible y si cambia de pagina y esta con la sesion activada el codigo oculto de esa pagina tambien lo tiene que ver.
si no eres usuario el codigo oculto no lo puedes ver en ninguna pagina
No reconoce la variable de sesion en otras paginas.
gracias
  #8 (permalink)  
Antiguo 12/11/2004, 05:36
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
El código oculto... supongo que será el código HTML ¿no? Y ese código que se quiere ocultar ¿cómo está?¿Include, etiquetas, simplemente Response.Write, controles ascx, ...?

Yo la verdad, me estoy perdiendo.

Lo de la sesión, pues tampoco me cuadra. Vamos a ver, si en una primera página pones

Session("admin") = "administrador"

Y en una segunda

Dim variable as String
variable = Session("admin").ToString()
Response.Write(variable)

dices que no sale nada.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #9 (permalink)  
Antiguo 12/11/2004, 06:37
 
Fecha de Ingreso: noviembre-2004
Mensajes: 19
Antigüedad: 19 años, 5 meses
Puntos: 0
ahi le has dado!!!!
no sale nada en la segunda pagina y no sabemos porque y lo tenemos escrito tal y como lo pones. nosotros tambiewn estamos perdidos. sabemos que esto en asp funciona.
Hemos buscado pero esta es la unica solucion ya que otra que hemos encontrado no se adecuaba a nuestras necesidades.
gracias
  #10 (permalink)  
Antiguo 12/11/2004, 07:07
 
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 12
Antigüedad: 20 años, 4 meses
Puntos: 0
Por mi parte lo uso de esta forma
asi puedes meter dataset, tables, string o lo que quieras en la session

Código HTML:
     If (Session("id") is nothing) orelse Session("id") = "" Then
         Session("id") = Request.QueryString("id")
     End if	

     Dim tipo As String
     tipo =  CType(Session("id"), String)
     Response.Write(tipo)
chequea el timeout de la session

nos vemos Kedron
  #11 (permalink)  
Antiguo 12/11/2004, 07:26
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Tienes razón kedron, la clave va a estar en el TimeOut.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #12 (permalink)  
Antiguo 12/11/2004, 10:46
Avatar de lucxx  
Fecha de Ingreso: noviembre-2003
Ubicación: Madrid
Mensajes: 321
Antigüedad: 20 años, 5 meses
Puntos: 0
Tambien puede depender del tipo de estado de sesión que utilices, o el entorno en el que se ejecuta... Si son varios servidores y se realizan balanceos de carga entre ellos, salvo que uses como estado de sesion sqlserver, las variables de sesion se pueden perder.... pero no siempre!

De todas formas, para lo que quieres hacer, yo recomiendo utilizar roles, teniendo en los web.config de las carpetas restringidas algo como:
<authorization>
<deny users="*"/>
<allow roles="administrador"/>
</authorization>

y en los elementos que no deseas qeu se vean

elemento.Visible = HttpContext.Current.User.IsInRole("administrador")

y por cierto, le pondría al rol un nombre menos "evidente"

Salu2
  #13 (permalink)  
Antiguo 16/11/2004, 04:15
 
Fecha de Ingreso: noviembre-2004
Mensajes: 19
Antigüedad: 19 años, 5 meses
Puntos: 0
hola de nuevo
hemos descubierto que lo que no nos funciona es el global asax. nuestoro proyecto esta hecho con dreamweaver y este no nos lo reconoce, en cambio hemos creado un ejemplo en vs.net y si lo reconoce¿sabeis como hacer para que dreamweaver lo reconozca?
besos y gracias
  #14 (permalink)  
Antiguo 19/11/2004, 04:02
 
Fecha de Ingreso: noviembre-2004
Mensajes: 19
Antigüedad: 19 años, 5 meses
Puntos: 0
YA ENCONTRAMOS LA" SOLUCION"!!!!!

El cortafuegos que utilizabamos era el qeu nos impedia que la variable pasase de una pagina a otra, realmente estaba todo bien programado

gracias por la ayuda y hasta la proxima. besicos
  #15 (permalink)  
Antiguo 19/11/2004, 04:08
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4

Menos mal que ya está.

Saludos.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #16 (permalink)  
Antiguo 14/12/2004, 07:24
 
Fecha de Ingreso: diciembre-2004
Ubicación: Santa Rosa - La Pampa - Argentina
Mensajes: 9
Antigüedad: 19 años, 4 meses
Puntos: 0
Sonrisa Variable Session

Para recuperar lo que hayas guardado en la variable session con la linea:
Session("admin")= "administrador"

tenes que recuperarla con:

lb_mess.text = CType(Session("admin"),String)

Probalo...
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 05:44.