none
No permitir página duplicada en proyecto RRS feed

  • Pregunta

  • Buenas,

    Tengo un proyecto ASP.NET visual studio 2010 publicado, cuento con un id de página y almaceno el usuario que ingrese al sistema.

    1-Como puedo validar que no me permita duplicar páginas el internet explorer cuando estan utilizando el sistema.

    2-Como puedo validar que si permita abrir la aplicación 2 veces en 2 ventajas diferentes, pero si ingresa a la página X en una ventana, no le permita ingresar al mismo tiempo con la otra ventana a la página Y, el usuario si tiene acceso tanto en X como en Y, sería validar que en las 2 ventanas no pueda ingresar a estas al mismo tiempo.

    Muchas gracias por su atención

    Saludos

    miércoles, 1 de febrero de 2017 15:40

Respuestas

  • Tal vez, y digo tal vez porque no lo he probado, puedes usar el webstorage que provee html5 para grabar un registro que indique que el usuario está en la pagina X y un numero aleatorio. Que se guarda en la primera carga de la página. Si intentase entrar , verificar eso si el numero aleatorio y pagina existe. Si NO existe dejar pasar,si existe, redirigira donde quieras. Esto es una aproximacion, ya te digo que no ll he hecho nunca

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    • Marcado como respuesta gwebb06 miércoles, 1 de febrero de 2017 18:24
    miércoles, 1 de febrero de 2017 17:50
    Moderador

Todas las respuestas

  • hola

    >>cuento con un id de página y almaceno el usuario que ingrese al sistema.

    cuando dices pagina te refieres a una pagina web, un aspx ? o que seria esto de id de pagina?

    >>Como puedo validar que si permita abrir la aplicación 2 veces en 2 ventajas diferentes

    esto no puede evitarlo, salvo que mantengas un flag que registre que entidades estan siendo visualizadas, pero la verdad no lo recomiendo, es para problemas

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 1 de febrero de 2017 16:41
  • Hola,

    1-Correcto sería el aspx

    2- Estaba pensando es poner una sesión que al ingresar a la primer página, al ingresar a la segunda me valida que la sesion ya viene llena y no permite continuar en la 2da. Mi preocupación ahora es, cuando limpiar esa sesión? por que puede ocurrir que limpio la sesion una vez que se ingreso y se valido que no podia continuar, pero que sucede si en la 2da ventana ingreso a otra página y luego regreso a la que tenia que validarme? ya no existe sesion y me dejara continuar.

    miércoles, 1 de febrero de 2017 16:47
  • hola

    >>1-Correcto sería el aspx

    entonces no entiendo, como se podria duplicar paginas ?

    las aspx son archivos fisicos

    >>al ingresar a la segunda me valida que la sesion ya viene llena y no permite continuar en la 2da.

    pero si la idea es pasar datos de una pagina a otra porque no usas cross-page, no necesitas session

    Cross-Page Posting in ASP.NET Web Pages

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 1 de febrero de 2017 16:55
  • Hola

    1. Me refiero a duplicar la pestaña.

    2. La idea es que si tengo 2 ventanas, una con página X, en la segunda intento abrir Y, no me permita, únicamente puedo tener 1 abierta dentro del mismo explorador, por eso sugiero la session mi problema es cuando limpiarla, ya que si ingreso a Y (no me dejo ingresar y limpie la session), luego a Y la session limpia no me validaría o también si cierro el explorador desde la X y nunca limpie la session y vuelvo a ingresar a X no me permitiria.

    Saludos

    miércoles, 1 de febrero de 2017 17:03
  • hola. Y si el usuario en vez abrir dos pestañas ejecuta otro segundo navegador? A mi modo de ver quieres controlar algo que se escapa de tu aplicación y que depende del explorador o browser. No puedes hacer que un usuario abra dos pestañas del browser, a menos creo, que apliques alguna política de usuario o algo a nivel de dominio, vamos que tienes que "capar" el browser del usuario o que solo tuviera uno instalado. Lo que si puedes hacer es evitar que un usuario se conecte de nuevo mientras haya una session activa del mismo.

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    miércoles, 1 de febrero de 2017 17:32
    Moderador
  • Hola, gracias, como podría realizar esa acción? Es que mi validación no es a nivel de toda la aplicación ciertamente dentro de la aplicación quiero validar que si tengo abierta una de 4 páginas no me permita abrir 10, y permita navegar en las que no posean esa validación.
    miércoles, 1 de febrero de 2017 17:34
  • >>Me refiero a duplicar la pestaña.

    eso no se puede controlar, si el usario quiere puede tomar la url y abrirla en varias pestañas o instancias de browser

    >>por eso sugiero la session mi problema es cuando limpiarla

    pero la session no resuelve lo que planteas


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 1 de febrero de 2017 17:35
  • Tal vez, y digo tal vez porque no lo he probado, puedes usar el webstorage que provee html5 para grabar un registro que indique que el usuario está en la pagina X y un numero aleatorio. Que se guarda en la primera carga de la página. Si intentase entrar , verificar eso si el numero aleatorio y pagina existe. Si NO existe dejar pasar,si existe, redirigira donde quieras. Esto es una aproximacion, ya te digo que no ll he hecho nunca

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    • Marcado como respuesta gwebb06 miércoles, 1 de febrero de 2017 18:24
    miércoles, 1 de febrero de 2017 17:50
    Moderador
  • >>puedes usar el webstorage que provee html5 para grabar un registro que indique que el usuario está en la pagina X

    pero el storage de html no seria muy simple de burlar, solo hace falta abrir el developer tools del browser y eliminar el valor para que te deje ingresar a la pagina

    aunque quizas se puede tomar por definicion que si la key no esta en el storage no deje ingresar porque esta claro que alguien la quito o no se genero

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta gwebb06 miércoles, 1 de febrero de 2017 18:24
    • Desmarcado como respuesta gwebb06 miércoles, 1 de febrero de 2017 18:24
    miércoles, 1 de febrero de 2017 18:09