HTTP 기본 인증이 활성화 된 서버에서 OpenLayers 2.12를 사용하여 WMS 계층을 표시하려고합니다.
JavaScript 코드의 URL 매개 변수에 사용자 이름과 비밀번호를 넣어 인증을 처리하려고했습니다. 레이어 생성 예 :
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
});
신임 정보는 JavaScript 코드로 저장되며 일부 브라우저에서는 작동하지 않기 때문에 이것은 안전하지 않습니다. Internet Explorer 8은 OpenLayers.js를 가리키는 보안 오류를 발생시키고 맵 표시를 전혀 거부합니다. Firefox 13에서 취소 할 수있는 일부 인증 대화 상자가 나타납니다 (그 후에 맵이 올바르게 표시됨). Chrome 23에서는 인증이 완벽하게 작동하는 것 같습니다.
URL에서 인코딩하고 예제와 같이 OpenLayers에 제공하여 크로스 브라우저 방식으로 HTTP 기본 인증을 처리 할 수 없음을 확인할 수 있습니까?
HTTP 기본 인증을 처리하여 사용자에게 투명하게 작동하도록 인증 방법이 표시되지 않는 다른 방법을 제안 할 수 있습니까? 아마도이 문제를 해결하기 위해 일종의 프록시 서버를 사용할 것입니다.