tutorial gratis español curso conde internet-explorer-8 sessionid

internet explorer 8 - gratis - ¿Cómo evitar el intercambio de sesiones proporcionado por IE8 programáticamente en la aplicación Java EE?



java ee tutorial español (4)

Microsoft, en un esfuerzo por hacer que Internet Explorer 8 sea "más estable" y "más rápido", ha cambiado la arquitectura subyacente del navegador e introdujo una función llamada "IE de acoplamiento débil" (LCIE) que funciona en sesiones compartidas a través de TAB y instancias.

Pero compartir la sesión puede ser fatal cuando alguien intenta hacer dos cosas diferentes a la vez con la misma aplicación, por ejemplo, como alguien quiere reservar un boleto de ida y un boleto de vuelta a la vez, en ese momento él va a reservar 2 entradas a lo que no se ha propuesto.

SOLUCIÓN PROBABLE EN TI

  1. Al crear una nueva ventana en lugar de crear haciendo clic en un ícono o Ctrl + N, debemos usar Archivo -> Nueva sesión; eso no sucederá.

  2. Puede hacer un cambio de registro en la PC del cliente, agregando lo siguiente.

    [HKEY_CURRENT_USER / Software / Microsoft / Internet Explorer / Principal]

"TabProcGrowth" = dword: 00000000

Deshabilitará "Loosely Couple IE8"; IE8 entonces funciona como versiones anteriores de IE.

  1. Ejecutar MSIE usando iexplore.exe -nomerge deshabilitará "Loosely Couple IE8"; IE8 entonces funciona como versiones anteriores de IE.

¿Pero cómo lo haré programáticamente?

Ya ves, mi problema no es mi aplicación. Funciona bien si estoy iniciando sesión en un usuario, pero cuando inicio sesión en varios usuarios a través de diferentes usuarios de diferentes instancias del navegador IE8, mis datos de sesión posteriores anulan el anterior, esto se debe a que ambos navegadores IE usan el mismo ID de sesión. Está sucediendo debido a la sesión compartida de IE8. Solo se mantiene una sesión para una aplicación, sin embargo, cuántos usuarios estoy iniciando. De hecho, deseo mantener la sesión por usuario.

Como cuando estoy iniciando sesión en Gmail en un navegador. Si solo estoy escribiendo Gmail en otro navegador. Está iniciando sesión automáticamente. No quiero esto en mi aplicación. Debería obtener el inicio de sesión de otro usuario a la vez que debería realizar una operación independiente.

Mi aplicación utiliza servidor de aplicaciones Struts, Spring, Hibernate y JBoss.

Ahora dime cómo debo proceder?


Creo que los problemas que describes arriba se pueden replicar en todos los navegadores y se pueden abordar mejor desde el lado del servidor. Un enfoque que conozco es crear una identificación de conversación y administrar el ciclo de vida de la conversación con una máquina estatal.

Esto le permite a usted (y a sus usuarios) tener una sesión en la que se puedan mantener conversaciones múltiples de manera concisa, lo que sucede mucho en la práctica, bueno, al menos en aplicaciones empresariales internas. El mundo es un lugar más caótico de lo que muestran los modelos de procesos de negocios.


Probablemente su mejor opción sea utilizar un marco web que admita múltiples sesiones simultáneas (a veces llamadas conversaciones o flujos), o simplemente evite usar tanto la sesión y vaya a REST. Si necesita hackearlo en el cliente, no podría hacerlo desde su aplicación web, pero un programa de victoria personalizado o un archivo .reg podría hacerlo. Esto también significa que los usuarios con otros sistemas operativos y navegadores seguirán teniendo el mismo problema.


No me gustaron todas las otras soluciones proporcionadas. Lo único que quiero es proporcionar una URL en la que el usuario pueda hacer clic y reciba una nueva sesión para iniciar sesión. Hay una función clara sessionAuthentication pero no una openLinkInNewSessionWindow

Una solución para el navegador IE8 podría proporcionar un enlace en la página "inicio de sesión múltiple" y usar el feo WScript desde el navegador. Un ejemplo:

<html> <head> <script> function openNewSessionIE8NoMerge() { // This opens a new session window for windows with IE8, unfortually there is a Active X security warning. var WshShell = new ActiveXObject("WScript.Shell"); WshShell.Run("iexplore.exe -nomerge www.gmail.com?testNewSession"); } </script> </head> <a href="#" onclick="javascript:openNewSessionIE8NoMerge();">Click here for a new session IE8 (multiple sessions on the same application)</a> </html>

Prueba: guarde el ejemplo en sampleNewSession.html, abra el archivo con IE8, en una nueva pestaña inicie sesión en gmail, presione el enlace en sampleNewSession. Ahora hay una nueva ventana y no ha iniciado sesión.

Esto ayudará al usuario, solo puede hacer clic en un enlace. El único problema es el mensaje de seguridad de activeX.


Intenta mantener la identificación de la sesión en el lado del cliente. Por ejemplo, en el nivel JSP. Luego, envíelo de vuelta al componente del servidor e intente seguirlo. Diga si la sesión recibida está actualmente en curso en el lado del servidor, luego sostenga durante algún tiempo mediante la sincronización o un mecanismo de espera similar. Espero que este tipo de problemas de sesión se resuelvan de manera complicada.