none
Encuesta Web RRS feed

  • Pregunta

  • Buenas a todos!

    Bueno mi problema es el siguiente... Resulta que estoy haciendo una aplicacion Web con C# a tres capas con LINQ, hasta ahí todo bien, estaba haciendo la autenticación como se hace normalmente inicializando variables de sesion, ahora por requisito del cliente ahora tengo dos problemas.

    1. La aplicacion es para mucha gente y esta en un sistema distribuido, por consiguiente me prohibieron el uso de las variables de sesión :( entonces opte por un servicio web, pero entonces no se como estar validando al usuario cada vez que navega por cada página interna.

    2. La encuesta consiste en 20 preguntas de opción multiple con única respuesta, el problema que tengo ahí es que igualmente como no puedo tener variables de sesión no se exactamente en que pregunta estoy. Entonces opté por una muy mala practica, que fue esconder un control Label y a éste asignarle el id de la pregunta en la que va, y en el botón de siguiente aumento en 1 a medida que va pasando de pregunta en pregunta, hasta llegar al final de la lista que tiene todas las preguntas asignadas para este usuario.  Qusiera saber como hago para optimizar esto, me parece horrible lo que hice, además que por los complementos de los exploradores puedo llegar a devolverme (inicialmente el usuario no puede volver atrás solo hacia adelante).

    Muchas gracias por su colaboración

    DS

    jueves, 24 de mayo de 2012 15:25

Todas las respuestas

  • hola

    1-

    como llegas de usar variables de session o un serviciox web cuando esto no tiene que ver una cosa con otra

    la seguridad la administra asp.net, aplciando asp.net membership, o en su defecto lo haces tu pero el sitio lo configuras para que asp.net se encargue de la seguridad

    Login – Usando Password con Hash

    de esta forma no validad nada en ninguna pagina, asp.net se encarga de estos

    2-

    para que ocultar el Label si tienes el ViewState, pondrias informacion que se conserva en el cliente, ojo no avusar en el vistate porque esto impacta en el trafico

    podrias tambien usar la cookie, para saber en que pregunta va el usuario

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta DiegoSanabria viernes, 25 de mayo de 2012 15:35
    • Desmarcado como respuesta DiegoSanabria viernes, 25 de mayo de 2012 15:42
    viernes, 25 de mayo de 2012 4:54
  • Hola Leandro! 

    Primero que todo gracias por responder!

    Entonces....

    Resumiendo un poco el examen es para muuuuchas personas al mismo tiempo, entonces para controlar el trafico se uso windows Azure, el cual maneja un balanceador de cargas, de ahí surge el problema con las variables de sesión 

    1. A lo que me refiero con esto es que necesito siempre validar que el usuario esté autenticado en la aplicación, para esto normalmente yo lo hago con membership, pero esto fue lo primero que me dijeron que no usara, entonces yo mismo hice la autenticación. Leyendo un poco mas a fondo, pude darme cuenta que que hay otra forma de uso de las variables de sesión, normalmente yo las uso en aplicación, pero esta vez me di cuenta que puedo usarla de otra manera sessionState mode="SQLServer", almacenando la variable y llamándola a su vez siempre en BD, nunca he hecho una aplicación de esta manera, asi que no se que tal funcione, es mas no se si dicha variable se pierda en algún momento (en teoría no tendría que).

    2. 

    Ya había contemplado el uso del ViewState, pero lo que me da cosa es que se pierda de igual manera en el balanceo de cargas. No lo tengo muy claro, entonces voy a hacer dos versiones haber que tal funciona.

    También había contemplado el uso de una cookie para el numero de la respuesta, pero tengo varios no por que no usarla, entre uno de ellos está que como los usuarios que van a responder son usuarios demasiado novatos, en el caso que tengan el browser con el almacenamiento de cookies deshabilitado, no van a saber pronto la manera de habilitarlas y más que es una prueba por tiempo.

    Muchas gracias por tu ayuda!

    DS

    viernes, 25 de mayo de 2012 15:53
  • entonces para controlar el trafico se uso windows Azure, el cual maneja un balanceador de cargas, de ahí surge el problema con las variables de sesión

    pero las variables de session se pueden persistir en sql server, por lo tanto usarse a pesar de haber un vbalanceador de carga, o sea el hecho de balancear la carga no es impedimento para no usar variable de session

    1-

    eso de validar simepre es una locura que no tiene sentido, se valida y se usa algun token o cookie o lo que mas quieras pero no se peude validar constatemente la seguridad

    no hace falta que uses membership, es mas yo en el link que puse no lo uso, pero si la seguridad de asp.net

    pero esta vez me di cuenta que puedo usarla de otra manera sessionState mode="SQLServer", almacenando la variable y llamándola a su vez siempre en BD

    ojo que para esto deberan tener Sql Azure, no se si adquirieron esto cuando contrataron el server en windows  Azure

    en el caso que tengan el browser con el almacenamiento de cookies deshabilitado

    podrias desde el server validar si el browser tienes las cookies habilitadas o no, sino lo tienen no los dejas ingresar y le muestras un manual con imagnes o un video de como ahbilitar las cookies segun el browser que usen

    igual es raro que los browsers actuales alguien deshabilite las cookies

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 25 de mayo de 2012 19:12