Как получить доступ с OpenLayers к закрытому слою из Geoserver? - PullRequest
0 голосов
/ 18 января 2019

Я могу использовать следующий код для отображения открытых слоев, но если он требует аутентификации, я не могу (как и ожидалось).

var untiled = new ol.layer.Image({
  source: new ol.source.ImageWMS({
    ratio: 1,
    url: 'http://url/geoserver/workspacename/wms',
    params: {
      'FORMAT': format,
      'VERSION': '1.1.1',
      STYLES: '',
      LAYERS: 'workspacename:layername'
    }
  })
});

Как я могу пройти аутентификацию по запросу OpenLayers? Есть какой-нибудь способ показать закрытые слои или, если я хочу использовать OpenLayers, я должен позволить открыть все свои слои? Заранее спасибо.

1 Ответ

0 голосов
/ 18 января 2019

В итоге я нашел два решения этой проблемы. Один был отмечен Майком в комментариях, а другой я получил в Reddit .

По сути, в первом случае вам нужно изменить функцию imageLoad, чтобы при каждом запросе отправлять имя пользователя и пароль в заголовке. В этом подходе есть проблема, однако учетные данные будут доступны в исходном коде.

Другим вариантом является проверка подлинности Geoserver на стороне сервера.

...