как залогиниться в Geoserver из JavaScript

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Аватара пользователя
Филиппов Владислав
Гуру
Сообщения: 1035
Зарегистрирован: 17 фев 2006, 06:28
Репутация: 144
Ваше звание: Геннадич
Откуда: Новосибирск
Контактная информация:

Re: как залогиниться в Geoserver из JavaScript

Сообщение Филиппов Владислав » 25 янв 2017, 09:40

Есть страничка с leaflet'ом и есть GeoServer на другом адресе, в котором отключено правило доступа к данным (*.*.r), но есть куча правил по воркспейсам для конкретных ролей.
Геосервер должен дать карте только те слои, которые положены данной роли и её пользователю.

=========================================
при запросе POST происходит редирект на /geoserver/web/wicket/bookmarkable/org.geoserver.web.GeoServerLoginPage, как будто пользователь/пароль не принят и геосервер просит ввести их на этой странице.

а про OPTIONS я соврал ненарочно, это явно сессия активная была в GeoServer.
Если не указать явно req.setRequestHeader('Access-Control-Allow-Origin', '*'), то браузер говорит об ошибке CORS.

нечто подобное описано тут - https://sourceforge.net/p/geoserver/mai ... /30514233/

добился загрузки безо всякого ajax'а

Код: Выделить всё

var overlay_adm30 = L.tileLayer.wms('http://'+username+':'+password+'@dp-geos02:8080/geoserver/wms', {
  ayers: 'user1:adm3',
  format: 'image/png',
  transparent: true,
  tiled: true,
  ontinuousWorld: true,
}).addTo(map); 

Аватара пользователя
Филиппов Владислав
Гуру
Сообщения: 1035
Зарегистрирован: 17 фев 2006, 06:28
Репутация: 144
Ваше звание: Геннадич
Откуда: Новосибирск
Контактная информация:

Re: как залогиниться в Geoserver из JavaScript

Сообщение Филиппов Владислав » 26 янв 2017, 09:39

Как надо, аутентификация в урле работает только в Firefox!

В chromium при загрузки тайлов вылетает 401(Full authentication is required to access this resource) :shock:
причём, если в инструментах разработчика дважды кликнуть по любой из этих ссылок, то в новой вкладке браузера открывается страничка с нужным тайлом, т.е. аутентификация проходит в этом случае. Ну и после этого на странице с картой всё начинает отображаться...
на сервере лог такой:

Код: Выделить всё

2017-01-26 17:01:22,369 INFO [geoserver.wms] -                                                                                               
Request: getServiceInfo                                                                                                                      
2017-01-26 17:01:22,369 INFO [geoserver.wms] -                                                                                               
Request: getServiceInfo                                                                                                                      
2017-01-26 17:01:22,386 INFO [geoserver.wms] -                                                                                               
Request: getServiceInfo                                                                                                                      
2017-01-26 17:01:22,386 INFO [geoserver.wms] -                                                                                               
Request: getServiceInfo     


в случае запросов с firefox лог другой:

Код: Выделить всё

2017-01-26 17:01:48,066 INFO [geoserver.wms] -                                                                                               
Request: getServiceInfo                                                                                                                      
2017-01-26 17:01:48,067 INFO [geoserver.wms] -                                                                                               
Request: getMap                                                                                                                              
        Filters = null                                                                                                                       
        Width = 256                                                                                                                          
        Height = 256                                                                                                                         
        Palette = null                                                                                                                       
        SRS = EPSG:3857
и далее всё что входит в запрос   getMap          

Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и 2 гостя