我正在创建一个可以与QGIS一起使用的WMS API。我希望能够在我正在构建的FlaskAPI中的QGIS和GeoServer(我的数据存储在这里)之间提供一个额外的授权层
我从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')
'''
原来这是Apache的一个问题,并添加了 WSGIPassAuthorization On
进入配置文件
相关问题 更多 >
编程相关推荐