Estoy intentando utilizar OpenLayers 2.12 para mostrar capas WMS desde un servidor que tiene activada la autenticación básica HTTP.
He intentado manejar la autenticación poniendo el nombre de usuario y la contraseña en el parámetro URL en mi código JavaScript. Ejemplo de creación de capa:
myLayer = new OpenLayers.Layer.WMS('background',
'https://username:password@ws.nls.fi/rasteriaineistot/image?',
{
layers: 'background',
bbox: '-380188,6249943,1347312,8226943'
},
{
displayInLayerSwitcher: true,
isBaseLayer: false,
projection: 'EPSG:3067',
visibility: true
});
Por supuesto, esto no es seguro, ya que las credenciales se almacenan en código JavaScript y no funciona en todos los navegadores. Internet Explorer 8 da un error de seguridad que apunta a OpenLayers.js y se niega a mostrar el mapa en absoluto. Firefox 13 muestra algunos diálogos de autenticación que puedo cancelar (el mapa se muestra correctamente después de eso). En Chrome 23 la autenticación parece funcionar sin problemas.
¿Puedes confirmar que no es posible manejar la autenticación básica HTTP de forma cruzada entre navegadores codificándola en la URL y dándosela a OpenLayers como en el ejemplo?
¿Puede sugerir formas alternativas de manejar la autenticación básica HTTP para que funcione de forma transparente para el usuario (sin que aparezcan ventanas emergentes de autenticación)? Tal vez utilizar algún tipo de servidor proxy para solucionar esto.