繁体   English   中英

如何从 javascript (leaflet/openlayers) 请求验证 Geoserver 上的安全层

[英]How to authenticate secured layer on Geoserver from javascript (leaflet/openlayers) requests

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

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

我的问题:如何提供正确的凭据(大概是用户名和密码)以从我的 javascript 应用程序访问这些层,而不在我的源代码中以普通视图显示它们?

您可以使用https://docs.geoserver.org/stable/en/user/community/authkey/index.html 中的 authkey 隐藏安全层的用户名和密码但是使用浏览器开发人员工具,每个人都可以看到请求并重用 authkey,因为它只是到用户的映射,GeoServer 将生成一个 Cookie,其中第一个请求与所使用的映射权限相匹配 - 因此任何有兴趣的人都可以将 authkey 用于它的映射用户的所有内容允许。

唯一不显示 authkey 的真正解决方案是在 Apache 的代理上添加 authkey。 或者甚至更好地限制对 Apache 上的 GeoServer 的请求仅适用于登录用户(如果您的应用程序使用 Apache 上的登录名),并仅将请求转发给在您的应用程序中(在 Apache 内)具有必要权限的用户的 Geoserver。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM