HTTP Temel Kimlik Doğrulaması etkin olan bir sunucudan WMS katmanlarını görüntülemek için OpenLayers 2.12 kullanmaya çalışıyorum.
JavaScript kodumdaki URL parametresine kullanıcı adı ve parolayı koyarak kimlik doğrulamasını işlemeye çalıştım. Örnek katman oluşturma:
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
});
Elbette bu güvenli değildir, çünkü kimlik bilgileri JavaScript kodunda saklanır ve tüm tarayıcılarda çalışmaz. Internet Explorer 8, OpenLayers.js'ye işaret eden güvenlik hatası veriyor ve haritayı hiç görüntülemeyi reddediyor. Firefox 13, iptal edebileceğim bazı kimlik doğrulama iletişim kutularını açar (harita bundan sonra doğru bir şekilde görüntülenir). Chrome 23'te kimlik doğrulama sorunsuz çalışıyor gibi görünüyor.
URL'de kodlayarak ve örnekteki gibi OpenLayers'a vererek HTTP temel kimlik doğrulamasının tarayıcılar arası bir şekilde ele alınmasının mümkün olmadığını doğrulayabilir misiniz?
HTTP temel kimlik doğrulamasını kullanıcı için şeffaf bir şekilde çalışacak şekilde işlemek için alternatif yollar önerebilir misiniz (kimlik doğrulama açılır penceresi görüntülenmez)? Bu soruna geçici bir çözüm bulmak için bir çeşit proxy sunucusu kullanabilirsiniz.