如何从javascript(leafletopenlayers)请求中验证Geoserver上的安全层。

问题描述 投票:4回答:1

我在Ubuntu主机上的docker容器上有一个Geoserver实例。目前,对Geoserver容器的请求是通过主机的Apache网络服务器转发的。我从一个javascript网页应用程序中发出这些请求。

我想在Geoserver上保护我的一些图层。

我的问题是我如何提供适当的凭证(大概是用户名和密码)来从我的javascript应用中访问这些图层,而不在我的源代码中以普通的方式显示它们?

javascript apache authentication leaflet geoserver
1个回答
0
投票

你可以通过使用Authkey来隐藏安全层的用户名和密码。https:/docs.geoserver.orgstableenusercommunityauthkeyindex.html。但是通过浏览器开发工具,每个人都可以看到请求的参数并重复使用authkey,因为它只是一个用户的映射,GeoServer会在第一个请求中生成一个Cookie,这个Cookie与映射用户的权限相匹配--所以任何感兴趣的人都可以使用这个authkey来完成映射用户所允许的所有事情。

唯一真正不显示authkey的解决方案是在Apache的代理服务器上添加authkey,或者更好地限制Apache上的GeoServer的请求只针对已登录的用户(如果你的应用程序在Apache上使用登录),并且只转发在你的应用程序(在Apache内)中拥有必要权限的用户对Geoserver的请求。

© www.soinside.com 2019 - 2024. All rights reserved.