servidor puedo puede pudo problemas porque pagina mostrar internet esta error entrar encontrar conexion conecta certificado internet-explorer-8 weblogic-10.x

internet-explorer-8 - puede - porque no puedo entrar internet explorer



Error de Internet Explorer al acceder a un proveedor weblogic personalizado (1)

Lo descubrimos.

La solución era desactivar las cookies de autenticación en el servidor weblogic. Por alguna razón, Internet Explorer perdería la cookie, haciendo que Weblogic pensara que la sesión estaba siendo pirateada. Eso es lo que provocó el inicio de sesión de autenticación básica.

Todavía no sabemos qué causaba que IE perdiera la cookie, pero este proveedor es para una intranet, por lo que la solución no dañará nuestra seguridad general.

Espero que esto ayude a alguien más.

Creé un Proveedor de autenticación de seguridad Weblogic personalizado en la versión 10.3 que incluye un módulo de inicio de sesión personalizado para validar usuarios. Como parte del proveedor, implementé ServletAuthenticationFilter y agregué un filtro. El filtro actúa como una página de inicio de sesión común para todas las aplicaciones dentro del dominio.

Cuando accedemos a cualquier URL segura ingresándolas en la barra de direcciones, esto funciona bien en IE y Firefox. Pero cuando marcamos el enlace en IE, ocurre algo extraño. Si hago clic en el marcador, verá nuestra página de inicio de sesión, luego de que haya iniciado sesión exitosamente en el sistema se mostrará la página de autenticación básica, aunque el usuario ya esté autenticado. Esto nunca ocurre en Firefox, solo IE. También es intermitente. 1 vez de cada 5 IE redirigirá correctamente y no mostrará la ventana de autenticación básica. Firefox y Opera redirigirán correctamente cada vez. Capturamos los encabezados de respuesta y comparamos el éxito y los fracasos, son idénticos.

final boolean isAuthenticated = authenticateUser(userName, password, req); // Send user on to the original URL if (isAuthenticated) { res.sendRedirect(targetURL); return; }

Como puede ver, una vez que el usuario se autentica, hago un redireccionamiento a la URL original. ¿Hay algún paso que me falta? El método authenticateUser () se toma textualmente de un ejemplo en los documentos de Oracle.

private boolean authenticateUser(final String userName, final String password, HttpServletRequest request) { boolean results; try { ServletAuthentication.login(new CallbackHandler() { @Override public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException { for (Callback callback : callbacks) { if (callback instanceof NameCallback) { NameCallback nameCallback = (NameCallback) callback; nameCallback.setName(userName); } if (callback instanceof PasswordCallback) { PasswordCallback passwordCallback = (PasswordCallback) callback; passwordCallback.setPassword(password.toCharArray()); } } } }, request); results = true; } catch (LoginException e) { results = false; } return results;

Estoy haciendo la pregunta aquí porque no sé si el problema es con la configuración de Weblogic o el código. Si esta pregunta es más adecuada para ServerFault, hágamelo saber y publicaré allí.

Es extraño que funcione siempre en Firefox y Opera, pero no en Internet Explorer. Desearía que no usar Internet Explorer fuera una opción, pero actualmente es el estándar de la compañía. Cualquier ayuda o dirección sería apreciada. Probé con IE 6 y 8 e implementé el proveedor personalizado en 3 entornos diferentes y aún puedo reproducir el error.