Вернуть заголовок авторизации в QGIS?

Я создаю WMS API, который может работать с QGIS. Я хочу иметь возможность предоставить дополнительный уровень авторизации между QGIS и GeoServer (где хранятся мои данные) в API Flask, который я создаю.

Что мне нужно от QGIS, так это базовый заголовок авторизации, который я могу прочитать и проверить в своей собственной базе данных.

Я полагаю, что QGIS сначала отправит один запрос WMS без каких-либо заголовков авторизации, а затем повторит попытку с базовой авторизацией. Моя проблема в том, что я не знаю, как вернуть QGIS, что требуются заголовки авторизации, чтобы он мог отправить другой запрос.

Мой API работает при отсутствии авторизации и может передавать и возвращать данные из QGIS в Geoserver и GeoServer обратно в QGIS. Но я хочу использовать базовую авторизацию, чтобы обеспечить дополнительный шаг.

Вот код, который у меня есть до сих пор:

def get(self):
    print(request.args)
    print(request.headers)

    if 'Auth' not in str(request.headers):
        url = '<amazonDB>/geoserver/wms?request=GetCapabilities'
        res = requests.get(url)
        return Response(res, mimetype='text/xml')

    url = '<amazonDB>/geoserver/wms?request=GetCapabilities'
    res = requests.get(url, auth=('<username>', '<password>'))
    return Response(res, mimetype='text/xml')

'''


person James    schedule 03.06.2020    source источник


Ответы (1)


Оказывается, это была проблема с Apache и добавлена ​​​​в WSGIPassAuthorization On.

в файл конфигурации.

person James    schedule 03.06.2020