使用密钥斗篷进行身份验证¶
本教程介绍Geoserver密钥罩支持,并逐步完成针对密钥罩提供程序设置身份验证的过程。建议您将 身份验证链 请先阅读部分内容,然后再继续。
geoserver keyclaft authn/authz插件将允许您使用keyclaft实例控制对geoserver内资源的访问。
配置说明¶
作为密钥斗篷管理员:
备注
在本例中,keypolt服务在端口上运行 8080 当GeoServer在端口上运行时 8181
创建一个 new client 对于名为 geoserver-client .
请确保将geoserver的基URL添加到可接受的重定向路径列表中,并添加keyclawoidc端点基URI。
- 如:
设置 access-type 视情况而定的客户。如果您的Geoserver实例依赖于另一个服务进行身份验证(例如:nginx auth plugin),那么您可能应该选择 bearer-only 。否则,您应该选择 confidential 。
添加 ADMINISTRATOR 和 AUTHENTICATED client-role 发送到 geoserver-client 穿着钥匙斗篷。
在此阶段,您需要将GeoServer角色映射到 geoserver-client 穿钥匙斗篷的。
使用 AUTHENTICATED 一个给普通用户。分配此角色 ADMINISTRATOR 对应该具有对geoserver的管理权限的用户/组。
获得 installation-configuration 对于 geoserver-client 在JSON中,并在接下来的步骤中将其提供给GeoServer管理员。
作为GeoServer管理员:
备注
在本例中,keypolt服务在端口上运行 8080 当GeoServer在端口上运行时 8181
在Authentication UI下,添加一个新的 authentication-filter . 选择 Keycloak 从提供的选项列表中,命名新筛选器 keycloak_adapter . 在提供的文本区域中粘贴keypolt服务器的安装配置。
如果不存在,请确保在单击之前添加以下选项 Save :
"use-resource-role-mappings": true
这个 Enable redirect to Keycloak Login page 如果所需行为是仅通过密钥罩在Web用户界面上进行身份验证,则应选中该复选框。注意,在这种情况下,密钥遮盖筛选器应该是
/web
过滤器链。相反,如果密钥遮盖过滤器需要与过滤器链上的其他过滤器共存并到达,则必须取消选中它。这个 Role Source 下拉列表允许为通过密钥罩进行身份验证的用户选择所需的角色源。如果默认情况下未选择None,则
Active Role Service
将会被使用。添加 keycloak_adapter 发送到 web filter-chain 如果您想要保护管理图形用户界面,请将其作为实例。如果你已经检查过 Enable redirect to Keycloak Login page 在过滤器配置上,每次都要重定向到Keyshaak,然后删除所有其他的 chain filters (基本、表单、RememberMe、匿名)。
3.完成后,导航到Geoserver用户界面。如果在筛选器配置时选中该复选框 Enable redirect to Keycloak Login page
处于未选中状态,并且密钥伪装筛选器与表单和匿名筛选器共存于/web链上。您将看到一个密钥伪装登录按钮,允许用户访问密钥伪装登录页面。

否则,用户将被直接重定向至密钥斗篷 login-page ,并在登录后重定向回实际的Geoserver用户界面页面。
![]()
您应该验证消息 logged in as <USERNAME> 在继续之前张贴在右上角。
![]()
警告
登录后出现403个未经授权的响应时的解决方法。
在keypolt客户机中强制使用RS256算法。

将RS256算法的公钥从领域设置复制到适配器配置中,如下所示:
"realm-public-key": XXXXXXX

